Maison  >  Article  >  Java  >  Quels sont les quatre pools de threads dans Java Executors

Quels sont les quatre pools de threads dans Java Executors

王林
王林avant
2023-05-14 18:01:061507parcourir

1. Description du pool de threads

newCachedThreadPool crée un pool de threads de cache. Si la longueur du pool de threads dépasse les besoins de traitement, les threads inactifs peuvent être recyclés de manière flexible. S'ils ne peuvent pas être recyclés, de nouveaux threads peuvent être créés.

newFixedThreadPool crée un pool de threads de longueur fixe, qui peut contrôler le nombre de threads simultanés en excès qui attendront dans la file d'attente.

newScheduledThreadPool établit un pool de threads fixe à long terme pour prendre en charge l'exécution de tâches planifiées et périodiques.

newSingleThreadExecutor crée un pool de threads à thread unique, qui ne peut utiliser qu'un thread de travail unique pour exécuter des tâches, garantissant que toutes les tâches sont exécutées dans l'ordre spécifié.

2. Exemple

class ThreadDemo extends Thread {
 
    @Override
 
    public void run() {
 
        System.out.println(Thread.currentThread().getName() + "正在执行");
 
    }
 
}
 
class TestFixedThreadPool {
 
        public static void main(String[] args) {
 
        //创建一个可重用固定线程数的线程池
 
        ExecutorService pool = Executors.newFixedThreadPool(2);
 
        //创建实现了Runnable接口对象,Thread对象当然也实现了Runnable接口
 
        Thread t1 = new ThreadDemo();
 
        Thread t2 = new ThreadDemo();
 
        Thread t3 = new ThreadDemo();
 
        Thread t4 = new ThreadDemo();
 
        Thread t5 = new ThreadDemo();
 
        //将线程放入池中进行执行
 
        pool.execute(t1);
 
        pool.execute(t2);
 
        pool.execute(t3);
 
        pool.execute(t4);
 
        pool.execute(t5);
 
        //关闭线程池
 
        pool.shutdown();
 
        }
 
        }

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