L'exemple de cet article indique l'utilisation de l'interface exécuteur en Java. Partagez-le pour tout le monde pour votre référence. Les détails sont les suivants:
1. Définition de l'interface exécuteur en Java
Exécuteur de l'interface publique {void execute (Runnable Commit);}
2. Créez un pool de threads par des méthodes d'usine statiques ci-dessous
a) NewFixEdThreadpool: Créez un long pool de threads. Après avoir atteint le nombre maximum de threads, le nombre de threads n'augmente plus.
Si un thread se termine en raison d'une exception non attendue, le pool de thread complétera un nouveau fil.
b) NewCachedHreadpool: Créez un pool de threads cacheable. Lorsque la longueur du pool dépasse les exigences de traitement, vous pouvez récupérer les threads inactifs.
c) NewsingLeThreadpool: Créez un exécuteur à thread unique.
d) NewscheduledHreadpool: Créez un pool de thread à long terme et prend en charge l'exécution de la période et de la tâche périodique.
Similaire à la minuterie. Cependant, la minuterie est basée sur le temps absolu, qui est sensible aux modifications de l'horloge du système, tandis que ScheduledThreadPoolExecutor ne prend en charge que le temps relatif.
3. Comparez le résumé de la demande de la classe de minuterie
1) La minuterie est le seul fil à effectuer toutes les tâches de la minuterie. Si une tâche est hors de temps, cela entraînera des problèmes avec précision.
2) Si Timrtask jette des anomalies décochers, Timer aura un comportement imprévisible. Par conséquent, ScheduledHreadpoolExecutor peut remplacer complètement la minuterie.
3) Afin de résoudre le cycle de vie des services d'exécution, l'interface ExecutorService étend l'exécuteur exécuteur. Le pool de thread comprendra 3 états: courir, arrêter, terminer.
4. Appelable et futur
Étant donné que Runnable ne renvoie pas la valeur et ne peut pas être retiré de l'anomalie vérifiée, Callable est une meilleure abstraction. (Callable <Void> indique la tâche de non-valeur de retour).
Future décrit le cycle de vie de la tâche et fournit des méthodes connexes pour obtenir les résultats de la tâche, annuler la tâche, vérifier la tâche pour la terminer ou l'annuler.
5.compltingService intègre les fonctions de l'exécuteur et de BlockingQueue.
Sa prise et son sondage peuvent bloquer l'achèvement de la tâche.
On espère que cet article est utile à la conception du programme Java de tous.