1. Thread-Pool-Prinzip im Multithreading
(1) Bestimmen Sie, ob alle Kern-Threads im Thread-Pool Aufgaben ausführen. Wenn nicht (die Kern-Threads sind inaktiv oder die Kern-Threads sind nutzlos), erstellen Sie einen neuen ein Arbeitsthread zum Ausführen von Aufgaben. Wenn alle Kernthreads Aufgaben ausführen, geben Sie den nächsten Prozess ein.
(2) Der Thread-Pool bestimmt, ob die Arbeitswarteschlange voll ist. Wenn die Arbeitswarteschlange nicht voll ist, werden neu eingereichte Aufgaben in dieser Arbeitswarteschlange gespeichert. Wenn die Arbeitswarteschlange voll ist, fahren Sie mit dem nächsten Vorgang fort.
(3) Stellen Sie fest, ob der Thread im Thread-Pool den Arbeitsstatus verarbeitet. Wenn nicht, erstellen Sie einen neuen Arbeitsthread, um die Aufgabe auszuführen. Wenn es voll ist, überlassen Sie diese Aufgabe der Sättigungsstrategie.
2. Multithread-Beispiele
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(); } }
Das obige ist der detaillierte Inhalt vonJava-Multithreading-Implementierungsprinzipien und zugehörige Wissenspunkte. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!