Selamat petang.
Ada soalan untuk temuduga seperti ini.
Berapa banyak cara untuk mencipta benang yang anda tahu? Nombor 2 muncul dalam jawapan: sama ada create
Thread
, passing it
Runnable
, or create an object of descendant class
Thread
in which
run()
. Tetapi saya tertanya-tanya: adakah ia dua? Jika anda menggunakan
concurrent
, sebagai contoh,
Executors.newFixedThreadPool(5)
kemudian apabila objek benang dicipta, serta-merta apabila kaedah ini dilaksanakan, atau kemudian, apabila tugasan muncul untuk pelaksanaan (lagipun, mereka mungkin tidak muncul). Semua kaedah kilang ini mengembalikan beberapa jenis konfigurasi
ThreadPoolExecutor
, yang mempunyai salah satu parameter konfigurasi.
corePoolSize
Mengenai medan ini ada tertulis:
corePoolSize
– bilangan benang untuk disimpan dalam kolam,
walaupun ia melahu , melainkan
allowCoreThreadTimeOut
ditetapkan Sebaliknya, jika tugasan tidak tiba, maka kami mencipta 5 pekerja terbiar, mungkin mereka mula dibuat apabila tugasan mula tiba?
Secara umum, 2 atau 3 pilihan masih boleh diingat sebagai jawapan kepada soalan?
GO TO FULL VERSION