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.
Étude recommandée : "Tutoriel vidéo Java"
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 :
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.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个窗口
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();
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);
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!