Die Methoden der Java-Thread-Planung sind: 1. Kollaborative Thread-Planung. Multithread-Systeme übernehmen die kollaborative Planung und die Ausführungszeit des Threads wird vom Thread selbst gesteuert. 2. Präventive Thread-Planung Bei Verwendung eines präemptiven Planungs-Multithread-Systems wird die Ausführungszeit jedes Threads vom System zugewiesen.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, Java 10-Version, DELL G3-Computer.
1. Kooperative Thread-Planung
Das Multithread-System übernimmt die kooperative Planung. Die Ausführungszeit des Threads wird vom Thread selbst gesteuert. Nachdem der Thread seine Arbeit abgeschlossen hat, benachrichtigt er das System aktiv, um zu einem anderen Thread zu wechseln. Der Vorteil von kooperativem Multithreading besteht darin, dass es einfach zu implementieren ist, da der Thread nach Abschluss seiner eigenen Arbeit den Thread wechselt. Der Umschaltvorgang ist dem Thread selbst bekannt, sodass im Allgemeinen kein Thread-Synchronisierungsproblem besteht. Auch seine Mängel liegen auf der Hand: Die Thread-Ausführungszeit kann nicht kontrolliert werden, und wenn der Code eines Threads falsch geschrieben ist und das System den Thread nicht wechseln darf, blockiert das Programm immer.
2. Präventive Thread-Planung
Bei Verwendung eines Multi-Thread-Systems mit präventiver Planung wird die Ausführungszeit jedes Threads vom System zugewiesen, und der Thread-Wechsel wird nicht vom Prozess selbst bestimmt. In Java gibt es beispielsweise eine Thread::yield()-Methode, die aktiv Ausführungszeit aufgeben kann. Wenn Sie jedoch aktiv Ausführungszeit erhalten möchten, hat der Thread selbst keine Möglichkeit. Auf diese Weise wird die Thread-Planung implementiert und die Ausführungszeit des Threads wird vom System gesteuert. Es besteht kein Problem, dass ein Thread den gesamten Prozess oder sogar das gesamte System blockiert.
Ich hoffe, dass die beiden Methoden der Java-Thread-Planung für alle hilfreich sein können.