Heim > Java > JavaErste Schritte > Hauptteil

Wie der Thread-Pool implementiert wird

王林
Freigeben: 2020-02-06 18:26:54
nach vorne
3543 Leute haben es durchsucht

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!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage