ExecutorService vs. Thread Pool
Apabila membangunkan aplikasi berbilang benang, adalah penting untuk mengurus sumber benang dengan berkesan. Pelaksana ialah alat yang mudah untuk mengurus utas, tetapi bagaimana jika anda memerlukan Pelaksana yang memanfaatkan utas semasa?
Bolehkah ExecutorService Menggunakan Benang Semasa?
Untuk mencapai matlamat ini tingkah laku, pertimbangkan pilihan berikut:
1. Gaya Java 8
<code class="java">Executor e = Runnable::run;</code>
Ungkapan lambda ini mencipta Pelaksana yang melaksanakan tugas secara langsung pada urutan semasa.
2. CurrentThreadExecutor
Kaedah yang lebih jelas ialah menggunakan pelaksanaan Executor tersuai seperti CurrentThreadExecutor:
<code class="java">class CurrentThreadExecutor implements Executor { @Override public void execute(Runnable r) { r.run(); } }</code>
Dengan menggunakan CurrentThreadExecutor, anda boleh bertukar dengan lancar antara kumpulan thread dan thread pengganti semasa kod sedia ada.
Atas ialah kandungan terperinci Bolehkah ExecutorService Menggunakan Benang Semasa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!