Maison  >  Questions et réponses  >  le corps du texte

java - ThreadPoolExecutor.execute()方法疑惑

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

ringa_leeringa_lee2763 Il y a quelques jours767

répondre à tous(2)je répondrai

  • 阿神

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

    1. S'il y a des threads plus petits que corePoolSize (thread principal) en cours d'exécution, la tâche en cours sera soumise en premier lieu. Ensuite, la méthode addWorker effectuera quelques vérifications ;

    2. Lorsqu'une nouvelle tâche est mise dans la file d'attente, elle sera vérifiée à nouveau (car le statut changera ou le pool de threads est fermé) pour déterminer si elle doit être annulée ou si un nouvel objet thread doit être créé
    3. Si la tâche ne peut pas être mise en file d'attente, il tentera d'ajouter un nouvel objet Thread, sinon la tâche sera rejetée
    4. PS : Je me souviens avoir lu un très bon article qui analysait en détail cette méthode et toute la connaissance du pool de threads, je vais vous aider à le trouver...

    mise à jour : compréhension approfondie du pool de threads Java

    répondre
    0
  • ringa_lee

    ringa_lee2017-04-18 09:37:56

    Allez

    répondre
    0
  • Annulerrépondre