Maison > Java > javaDidacticiel > Résumez brièvement les quatre méthodes de création du pool de threads Java

Résumez brièvement les quatre méthodes de création du pool de threads Java

WBOY
Libérer: 2022-07-21 17:55:37
avant
1832 Les gens l'ont consulté

Cet article vous apporte des connaissances pertinentes sur java. Il présente principalement l'analyse détaillée des quatre méthodes de création du pool de threads Java. Le pool de connexions est une technologie qui crée et gère un pool tampon de connexions. Pour toute utilisation de thread qui les nécessite, examinons-les ci-dessous. J'espère que cela sera utile à tout le monde.

Résumez brièvement les quatre méthodes de création du pool de threads Java

Étude recommandée : "Tutoriel vidéo Java"

Avant-propos

Avant de parler du pool de threads, permettez-moi d'abord d'ajouter la définition du pool de connexions

Le pool de connexions est une technologie permettant de créer et de gérer une connexion. pool de tampons, ces connexions sont prêtes à être utilisées par n'importe quel thread qui en a besoin

Vous pouvez voir le rôle de son pool de connexions comme suit :

1. pool)

 : un modèle d'utilisation du fil. Trop de threads entraîneront une surcharge de planification, ce qui affectera la localisation du cache et les performances globales. Le pool de threads gère plusieurs threads, en attendant que le superviseur attribue des tâches pouvant être exécutées simultanément. Cela évite les coûts de création et de destruction de threads lors de la gestion de tâches de courte durée. Le pool de threads peut non seulement garantir l'utilisation complète du cœur, mais également empêcher une planification excessive. Améliorer la vitesse de réponse : lorsqu'une tâche arrive, elle peut être exécutée immédiatement sans attendre la création du thread. Améliorer la gérabilité des threads :

Les threads sont des ressources rares. S'ils sont créés sans restrictions, ils consommeront non seulement des ressources système, mais réduiront également la stabilité du système. L'utilisation de pools de threads peut effectuer une allocation, un réglage et une surveillance unifiés.

Ses fonctions sont :

Réutiliser les threads existants, réduire le coût de création et de destruction d'objets, contrôler efficacement le nombre maximum de threads simultanés, améliorer l'utilisation des ressources système et éviter une concurrence et une congestion excessives des ressources. Fournit des fonctions telles que l'exécution planifiée, l'exécution périodique, le thread unique et le contrôle de concurrence.
  • L'architecture spécifique est la suivante :

2 Méthode de création Il existe 4 méthodes de création : un pool d'un thread, un pool de n threads, un pool de threads extensibles, un pool de timing. et Threads périodiques

Executors.newFixedThreadPool(int)Un pool de N threads, contrôlant le nombre maximum de concurrence, les threads excédentaires attendront dans la file d'attente

ExecutorService threadPool1 = Executors.newFixedThreadPool(5); //5个窗口
Copier après la connexion

Executors.newSingleThreadExecutor()< /code >Un pool, un thread<strong><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:java;"> ExecutorService threadPool2 = Executors.newSingleThreadExecutor(); //一个窗口</pre><div class="contentsignin">Copier après la connexion</div></div></strong><code>Executors.newCachedThreadPool()Un pool peut être étendu pour créer des threads en fonction des besoins, et les threads inactifs peuvent être recyclés de manière flexible
Après l'exécution du thread , vous pouvez continuer à l'utiliser sans l'étendre

 ExecutorService threadPool3 = Executors.newCachedThreadPool();
Copier après la connexion

Executors.newScheduledThreadPool(), prend en charge l'exécution de tâches planifiées et périodiques

//表示延迟一秒,后执行3秒
ScheduledExecutorService scheduledThreadPool = Executors.newScheduledThreadPool(5);
scheduledThreadPool.scheduleAtFixedRate(new Runnable() {
      @Override
      public void run() {
          log.info("delay 1 seconds, and excute every 3 seconds");
 
      }
}, 1, 3, TimeUnit.SECONDS);
Copier après la connexion
Apprentissage recommandé : "

Tutoriel vidéo Java

"

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!

Étiquettes associées:
source:jb51.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal