ArrayBlockingQueue Vs. Google Guava Engellemeyen Tahliye Sırası Örneği

Yayınlanan: 2020-12-29
ArrayBlockingQueue Vs. Google Guava Engellemeyen Tahliye Sırası Örneği

Eşzamanlılık yardımcı programları Java'da çok şaşırtıcı.

java.util.concurrent paketi, birçok farklı şekilde kullanabileceğimiz birçok yardımcı program içerir.

Bu derste java.util.concurrent arasındaki farkı inceleyeceğiz. ArrayBlockingQueue ve com.google.common.collect. EvictingQueue .

EvictingQueue nedir?

EvictingQueue , Google's Guava library bir parçasıdır. Bu, full queue öğe eklemeye çalışırken öğeleri kuyruğun head otomatik olarak removes , non-blocking , bounded (Sabit Boyutlu) bir kuyruktur.

Eclipse-Java Projenize Google'ın Guava kitaplığını nasıl eklersiniz?

Maven projesini kullanıyorsanız, pom.xml dosyasına aşağıdaki maven bağımlılığını ekleyebilirsiniz. non-maven proje olması durumunda – onu buradan indirmeniz ve projenizin sınıf yoluna kitaplık eklemeniz gerekir.

ArrayBlockingQueue nedir?

Öğeleri bir dizide dahili olarak depolayan, blocking , bounded (Sabit Boyutlu) bir kuyruktur. CAN'T miktarda öğe unlimited . Bu kuyruk, FIFO öğelerini (ilk giren ilk çıkar) sıralar.

Read more : Singleton Queue Örneği

Örnek üzerinde başlayalım

  1. 10 boyutlu ArrayBlockingQueue oluşturun
  2. 10 beden ile EvictingQueue oluşturun
  3. Kuyruğa 15 öğe eklemeyi deneyin
  4. EvictingQueue için – herhangi bir hata vermez
  5. ArrayBlockingQueue için – Queue Full hatası verir

CrunchifyArrayBlockingQueueVsEvictingQueue.java sınıfı oluşturun

Sadece bu Java Programını Eclipse Konsolunda veya IntelliJ IDEA'da bir uygulama olarak çalıştırın ve bunun gibi bir sonuç göreceksiniz.

Konsol Sonucu:

Yukarıdaki programı çalıştırırken herhangi bir sorunla karşılaşırsanız bana bildirin.