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>
In Java 8 ist die Verwendung einer alternativen Lösung ein Lambda-Ausdruck als Executor:
<code class="java">Executor e = Runnable::run;</code>
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!