A várakozási sor minden programozási nyelv fontos szempontja. Különösen, ha erről beszélünk . Ebben a cikkben a következő sorrendben tárgyaljuk a Java BlockingQueue felületét:
- Mi a BlockingQueue interfész a Java-ban?
- BlockingQueue Types
- Módszerek a BlockingQueue felületen
- BlockingQueue interfész a Java-ban Példa: Szolgáltatás
Mi a BlockingQueue interfész a Java-ban?
A Java-ban található BlockingQueue interfész egy olyan sor, amely akkor blokkol, amikor megpróbál eltávolítani belőle, és a sor üres, vagy ha elemeket próbál meg sorolni rá, és a sor már megtelt. Az üres sorból eltávolítani próbáló szál blokkolva van, amíg más szál nem helyez be egy elemet a sorba. Az a szál, amely megpróbál egy elemet felsorolni a teljes várólistában, addig blokkolódik, amíg valamelyik másik szál helyet nem teremtenek a sorban, vagy egy vagy több elem eltávolításával, vagy a sor teljes törlésével.
A BlockingQueue felület a Java-ban nem fogadja elnullaértékek és dobásNullPointerExceptionha megpróbálja eltárolni a null értéket a sorban.A Java BlockingQueue megvalósítások szálbiztos . Valamennyi várólista-módszer atomi jellegű, és belső zárakat vagy a párhuzamosság-ellenőrzés egyéb formáit használja.
hibrid keretrendszer szelén web meghajtóban
Java Queue osztály diagram
A Java Queue interfész kiterjeszti a Gyűjtemény felületet. A Collection felület kiterjeszti az Iterable felületet. Néhány gyakran használt várólista megvalósítási osztály a LinkedList, a PriorityQueue, a ArrayBlockingQueue, a DelayQueue, a LinkedBlockingQueue, a PriorityBlockingQueue, stb. Az AbstractQueue a Queue felület csontvázszerű megvalósítását biztosítja a Queue megvalósításával kapcsolatos erőfeszítések csökkentése érdekében.
BlockingQueue Types
A BlockingQueue kétféle lehet:
- Korlátlan sor: A blokkolási sor kapacitása Integer.MAX_VALUE lesz. Korlátlan blokkolási sor esetén a sor soha nem fog blokkolni, mert nagyon nagyra nőhet. elemek hozzáadásával nő a mérete.
Szintaxis:
BlockingQueue blocking queue = new LinkedBlockingDeque ()
- Korlátozott sor: A második sortípus a korlátozott sor. A korlátozott sor esetén létrehozhat egy sort a sor kapacitásának megkerülésével a sorok konstruktorában:
Szintaxis:
// Blokkoló várólistát hoz létre 5-ös kapacitással
BlockingQueue blocking queue = új LinkedBlockingDeque (5)
Módszerek a BlockingQueue felületen
BlockingQueue interfész a Java-ban Példa: Szolgáltatás
com.journaldev.concurrency import java.util.concurrent.ArrayBlockingQueue import java.util.concurrent.BlockingQueue public class ProducerConsumerService {public static void main (String [] args) {// BlockingQueue of size 10 blockingQueueBayue (new Array) létrehozása 10) Producer producer = new Producer (várólista) .start () System.out.println ('A gyártó és a fogyasztó elindult')}}
Ezzel véget értünk a Java-ban a BlockingQueue felületről. Remélem, hogy minden koncepciója világos.
Nézze meg a az Edureka, egy megbízható online tanulási vállalat, amelynek több mint 250 000 elégedett tanulóval rendelkező hálózata elterjedt az egész világon. Az Edureka Java J2EE és SOA képzését és tanúsító tanfolyamát olyan hallgatók és szakemberek számára tervezték, akik Java fejlesztők szeretnének lenni. A tanfolyamot úgy tervezték meg, hogy előrelépést nyújtson a Java programozásban, és képezze mind az alapvető, mind a fejlett Java koncepciókhoz, valamint a különböző Java keretrendszerekhez, például a Hibernate & Spring.
Van egy kérdésünk? Kérjük, említse meg a „BlockingQueue Interface in Java” blog megjegyzés rovatában, és a lehető leghamarabb kapcsolatba lépünk Önnel.