In Java wird die Ausführung mehrerer Threads auf einer einzelnen CPU als Scheduling bezeichnet. Mit einer guten Thread-Planung kann die CPU vollständig ausgenutzt werden Ressourcen zur Verbesserung der Effizienz der Programmausführung.
Normalerweise wird der ausführbare Thread mit der höchsten Priorität zuerst ausgeführt und ist aktiv (wird ausgeführt); wenn ein Thread mit hoher Priorität aktiviert ist und ausgeführt wird, wenn ein Thread mit niedriger Priorität ausgeführt wird Wenn ein Thread verwendet wird, wird der Thread mit hoher Priorität sofort ausgeführt. [Empfohlene verwandte Video-Tutorials: Java-Tutorial]
Planungstyp
1. Warten und Benachrichtigung
Warten [wait()] und Benachrichtigen [notify(), notifyAll()] bieten eine Möglichkeit, zwischen Threads zu kommunizieren, die auf demselben Objekt synchronisiert sind.
Beschreibung:
wait()-Methode: Wenn die wait()-Methode für ein Objekt aufgerufen wird, gibt der Thread, der den Code ausführt, sofort die Sperre für das Objekt auf und verschiebt den Thread in den Wartemodus Zustand.
notify()-Methode: Dies weckt den Thread auf, der wait() für dasselbe Objekt aufgerufen hat, und versetzt den Thread in den Bereitschaftszustand.
notifyAll()-Methode: Dadurch werden alle Threads aktiviert, die wait() für dasselbe Objekt aufrufen.
2. Run and Yield
Die Yield()-Methode wird verwendet, um Ausführungsmöglichkeiten für andere Threads mit derselben Priorität bereitzustellen, d. h. um den aktuell laufenden Thread zu verschieben Thread in einen verfügbaren Running-Status zu versetzen.
3. Schlafen und aktivieren
nSleep()-Methode wird verwendet, um den Thread für einen bestimmten Zeitraum anzuhalten, d. h. den aktuell laufenden Thread in den zu verschieben Ruhezustand für einen bestimmten Zeitraum. Anschließend in den ausführbaren Zustand versetzen. Beispiel:
Thread.sleep(毫秒数);
Thread-Priorität
Jeder Thread hat eine Priorität, die eine Ganzzahl zwischen 1 und 10 ist. Gibt an, dass die Zahl umso höher ist , desto höher ist die Priorität und die Thread-Priorität ist standardmäßig 5. In den meisten Fällen plant der Thread-Scheduler Threads basierend auf ihrer Priorität (sogenannte präemptive Planung).
Wenn ein Java-Thread erstellt wird, erbt er seine Priorität von dem Thread, der ihn erstellt hat. Wir können auch die setPriority-Methode verwenden, um die Priorität des Threads jederzeit nach der Erstellung zu ändern Es .
Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird.
Das obige ist der detaillierte Inhalt vonWas ist Thread-Planung in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!