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

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

ringa_lee
ringa_lee

ringa_lee

répondre à tous(2)
阿神
  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

左手右手慢动作

Allez

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal