Maison  >  Article  >  Java  >  Comment fermer le pool de threads Java

Comment fermer le pool de threads Java

王林
王林avant
2023-05-09 11:58:152924parcourir

1, shutdown() consiste à arrêter en toute sécurité le pool de threads. Après avoir appelé la méthode d'arrêt, elle ne ferme pas immédiatement le pool de threads, mais exécute de nombreuses tâches dans le pool de threads. ou attend dans la file d'attente Exécutez la tâche et attendez que toutes les tâches soient terminées avant de fermer le pool de threads. Je ne peux pas dire s'il est complètement fermé. La méthode

3, istermated() peut déterminer si le pool de threads est complètement fermé, donc après avoir appelé shutdown, lors de l'exécution d'une tâche, l'appel à isshutdown renvoie true et l'appel à isterminated renvoie faux.

awaittermination

La méthode consiste à déterminer si le pool de threads est complètement fermé, ce qui est similaire à istermé, mais accepte le temps d'attente. Les situations suivantes peuvent se produire lors de l'appel de cette méthode (1) Pendant la période d'attente (y compris l'entrée dans l'état d'attente), le pool de threads est fermé et toutes les tâches soumises (y compris celles en exécution et en attente dans le file d'attente) sont terminés, ce qui équivaut à la fin du pool de threads, la méthode renvoie true

(2) Après avoir attendu le délai d'attente, le pool de threads initial ne se termine pas et la méthode renvoie false (3) Le fil de discussion est interrompu pendant la période d'attente et la méthode lancera Une exception Internet s'est produite.

shutdownNow

 : arrêtez immédiatement le pool de threads, envoyez d'abord un signal d'interruption au thread dans le pool de threads, essayez d'interrompre le thread, puis renvoyez la file d'attente tâche à l'appelant, l'appelant remédie à ces tâches.

Par conséquent, nous pouvons choisir la méthode appropriée pour arrêter le pool de threads en fonction de nos besoins commerciaux. Par exemple, vous pouvez généralement utiliser la méthode shutdown() pour arrêter et terminer les tâches soumises, mais si la situation est urgente, vous pouvez utiliser la méthode shutdownnow pour accélérer la fin du pool de threads.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer