Java Executor Framework の現在のスレッドでスレッド プールを使用する
Java で ExecutorService を構成したい場合があります。スレッド プールを使用するか、現在のスレッドでタスクをシームレスに実行します。簡単な解決策は、現在のスレッドでタスクを即座に実行する構成不可能なエグゼキュータである CurrentThreadExecutor を利用することです。
このアプローチを実装するには、次の手順を実行します。
<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>
Java 8 では、代替ソリューションを使用します。エグゼキューターとしてのラムダ式:
<code class="java">Executor e = Runnable::run;</code>
このラムダ エグゼキューターは現在のスレッドでタスクを実行するため、明示的なエグゼキューター構成の必要がなくなります。
以上がJava の Executor Framework でスレッド プールを使用したり、現在のスレッドでシームレスにタスクを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。