Heim > Java > javaLernprogramm > Hauptteil

Wie kann ich im Executor Framework von Java einen Thread-Pool verwenden oder Aufgaben im aktuellen Thread nahtlos ausführen?

Patricia Arquette
Freigeben: 2024-11-04 11:30:02
Original
418 Leute haben es durchsucht

How can I use a thread pool or run tasks on the current thread seamlessly in Java's Executor Framework?

Verwenden eines Thread-Pools mit aktuellem Thread im Java Executor Framework

Möglicherweise möchte man einen ExecutorService in Java konfigurieren um entweder einen Thread-Pool zu verwenden oder Aufgaben im aktuellen Thread nahtlos auszuführen. Eine einfache Lösung besteht darin, CurrentThreadExecutor zu verwenden, einen nicht konfigurierbaren Executor, der Aufgaben sofort im aktuellen Thread ausführt.

Um diesen Ansatz zu implementieren:

<code class="java">import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

//...

ExecutorService es = threads == 0 ? new CurrentThreadExecutor() : Executors.newThreadPoolExecutor(threads);

// es.execute / es.submit / new ExecutorCompletionService(es) etc</code>
Nach dem Login kopieren

In Java 8 ist die Verwendung einer alternativen Lösung ein Lambda-Ausdruck als Executor:

<code class="java">Executor e = Runnable::run;</code>
Nach dem Login kopieren

Dieser Lambda-Executor führt Aufgaben im aktuellen Thread aus, sodass keine explizite Executor-Konfiguration erforderlich ist.

Das obige ist der detaillierte Inhalt vonWie kann ich im Executor Framework von Java einen Thread-Pool verwenden oder Aufgaben im aktuellen Thread nahtlos ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage