java - ThreadPoolExecutor.execute()方法疑惑
ringa_lee
ringa_lee 2017-04-18 09:35:56
0
2
780

根据类的继承机构,我们知道ThreadPoolExecutorService 继承了AbstractExecutorService类继承了ExecutorService接口继承了Executor接口中的execute()方法,这个方法是被用来专门执行异步任务的,通过传入参数Runnable来执行的。但是我看到ThreadPoolExecutorService.execute(Runnable command)方法中的源码表示不理解,求大牛帮忙看看这个源码,究竟都做了一些什么?

ringa_lee
ringa_lee

ringa_lee

membalas semua(2)
阿神
  1. Jika terdapat utas yang lebih kecil daripada corePoolSize (benang teras) sedang dilaksanakan, tugasan semasa akan diserahkan ke tempat pertama, kemudian kaedah addWorker akan melakukan beberapa semakan;

  2. Apabila tugasan baharu dimasukkan ke dalam baris gilir, ia akan disemak semula (kerana status akan berubah atau kumpulan benang ditutup) untuk menentukan sama ada ia perlu digulung semula atau objek benang baharu perlu dicipta;
  3. Jika tugasan tidak boleh dimasukkan ke dalam baris gilir, ia akan cuba menambah objek Thread baharu, jika tidak tugas itu akan ditolak
  4. PS: Saya masih ingat membaca artikel yang sangat bagus yang menganalisis kaedah ini dan keseluruhan pengetahuan kumpulan benang secara terperinci, saya akan membantu anda mencarinya...

kemas kini: Pemahaman mendalam tentang kumpulan benang Java

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan