cari

Rumah  >  Soal Jawab  >  teks badan

java - ThreadPoolExecutor.execute()方法疑惑

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

ringa_leeringa_lee2811 hari yang lalu801

membalas semua(2)saya akan balas

  • 阿神

    阿神2017-04-18 09:37:56

    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

    balas
    0
  • ringa_lee

    ringa_lee2017-04-18 09:37:56

    Ayuh

    balas
    0
  • Batalbalas