Heim  >  Artikel  >  Java  >  Wie der Thread-Pool implementiert wird

Wie der Thread-Pool implementiert wird

王林
王林nach vorne
2020-02-06 18:26:543477Durchsuche

Wie der Thread-Pool implementiert wird

Der Thread-Pool verfügt über die folgenden Implementierungsmethoden:

Executors bietet derzeit 5 verschiedene Thread-Pool-Erstellungskonfigurationen:

1 , newCachedThreadPool( )

Es handelt sich um einen Thread-Pool, der zur Abwicklung einer großen Anzahl kurzfristiger Arbeitsaufgaben verwendet wird. Er weist mehrere Besonderheiten auf: Er versucht, Threads zwischenzuspeichern und wiederzuverwenden , wird ein neuer Arbeitsthread erstellt; wenn der Thread länger als 60 Sekunden inaktiv ist, wird er beendet und der Cache wird entfernt, wenn dieser Thread-Pool längere Zeit inaktiv ist. Es verwendet SynchronousQueue intern als Arbeitswarteschlange.

Video-Tutorial-Empfehlung: Java-Video-Tutorial

2. newFixedThreadPool (int nThreads)

Die angegebene Anzahl (nThreads) wiederverwenden ) Der Thread verwendet eine unbegrenzte Arbeitswarteschlange dahinter. Die meisten nThreads-Worker-Threads sind jederzeit aktiv. Dies bedeutet, dass, wenn die Anzahl der Aufgaben die Anzahl der aktiven Threads übersteigt, darauf gewartet wird, dass inaktive Threads in der Arbeitswarteschlange angezeigt werden. Wenn der Arbeitsthread beendet wird, wird ein neuer Arbeitsthread erstellt, um die angegebene Anzahl von nThreads auszugleichen.

3. newSingleThreadExecutor()

Seine Eigenschaft ist, dass die Anzahl der Arbeitsthreads auf 1 begrenzt ist und eine unbegrenzte Arbeitswarteschlange betrieben wird, sodass alle Aufgaben sichergestellt werden Werden nacheinander ausgeführt, ist höchstens eine Aufgabe aktiv und Benutzer dürfen die Thread-Pool-Instanz nicht ändern, sodass eine Änderung der Anzahl der Threads vermieden werden kann.

4. newSingleThreadScheduledExecutor() und newScheduledThreadPool(int corePoolSize)

erstellt einen ScheduledExecutorService, der eine geplante oder periodische Arbeitsplanung durchführen kann oder Mehrere Arbeitsthreads.

5. newWorkStealingPool(int parallelism)

Diese Erstellungsmethode wurde nur in Java 8 hinzugefügt und ForkJoinPool wird erstellt Intern werden Aufgaben mithilfe des Work-Stealing-Algorithmus parallel bearbeitet, ohne dass die Bearbeitungsreihenfolge gewährleistet ist.

Teilen verwandter Artikel und Tutorials: Schnellstart mit Java

Das obige ist der detaillierte Inhalt vonWie der Thread-Pool implementiert wird. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
Vorheriger Artikel:Was ist Frühling?Nächster Artikel:Was ist Frühling?