ArrayBlockingQueue Vs. Contoh EvictingQueue Google Guava Non-Blocking

Diterbitkan: 2020-12-29
ArrayBlockingQueue Vs. Contoh EvictingQueue Google Guava Non-Blocking

Utilitas konkurensi sangat menakjubkan di Jawa.

Paket java.util.concurrent berisi banyak utilitas yang dapat kita gunakan dalam berbagai cara.

Dalam tutorial ini kita akan membahas perbedaan antara java.util.concurrent. ArrayBlockingQueue dan com.google.common.collect. EvictingQueue .

Apa itu EvictingQueue?

EvictingQueue adalah bagian dari Google's Guava library . Yang merupakan antrian non-blocking , bounded (Ukuran Tetap) yang secara otomatis removes elemen dari head antrian ketika mencoba menambahkan elemen ke full queue .

Bagaimana cara menambahkan perpustakaan Guava Google ke Proyek Eclipse-java Anda?

Anda dapat menambahkan ketergantungan maven di bawah ini ke file pom.xml jika Anda menggunakan proyek maven. Dalam kasus proyek non-maven - Anda harus mengunduhnya dari sini dan memasukkan perpustakaan ke dalam classpath proyek Anda.

Apa itu ArrayBlockingQueue?

Ini adalah antrian blocking , bounded (Ukuran Tetap) yang menyimpan elemen secara internal dalam sebuah array. Itu CAN'T menyimpan jumlah elemen yang unlimited . Antrian ini mengurutkan elemen FIFO (first-in-first-out).

Read more : Contoh Antrian Singleton

Mari kita mulai Contoh

  1. Buat ArrayBlockingQueue dengan ukuran 10
  2. Buat EvictingQueue dengan ukuran 10
  3. Coba tambahkan 15 elemen ke antrian
  4. Untuk EvictingQueue – itu tidak akan menimbulkan kesalahan apa pun
  5. Untuk ArrayBlockingQueue – itu akan menimbulkan kesalahan Queue Full

Buat kelas CrunchifyArrayBlockingQueueVsEvictingQueue.java

Jalankan saja Program Java ini sebagai aplikasi di Eclipse Console atau IntelliJ IDEA dan Anda akan melihat hasilnya seperti ini.

Hasil Konsol:

Beri tahu saya jika Anda menghadapi masalah saat menjalankan program di atas.