1. Principe du pool de threads dans le multi-threading
(1) Déterminez si les threads principaux du pool de threads exécutent tous des tâches, sinon (core (les threads sont inactifs ou le thread principal est inutile), créez un nouveau thread de travail pour effectuer la tâche. Si tous les threads principaux exécutent des tâches, entrez dans le processus suivant.
(2) Le pool de threads détermine si la file d'attente de travail est pleine. Si la file d'attente de travail n'est pas pleine, les tâches nouvellement soumises sont stockées dans cette file d'attente de travail. Si la file d'attente de travail est pleine, passez au processus suivant.
(3) Déterminez si le thread du pool de threads traite l'état de travail. Sinon, créez un nouveau thread de travail pour effectuer la tâche. S'il est plein, laissez la stratégie de saturation se charger de cette tâche.
2. Exemples multithread
public class Test implements Runnable { @Override public void run() { try { Thread.sleep(10); } catch (InterruptedException e) { e.printStackTrace(); } } static ExecutorService service = newFixedThreadPool(3); public static void main(String[] args) { for (int i=0;i<100;i++) { service.execute(new Test()); } service.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!