System.Classes.TThread.Yield
Delphi
class procedure Yield; static;
C++
static void __fastcall Yield();
Inhaltsverzeichnis
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
procedure function |
public | System.Classes.pas System.Classes.hpp |
System.Classes | TThread |
Beschreibung
Übergibt die Ausführung an einen anderen Thread.
Yield benachrichtigt das System, dass die Ausführung an den nächsten geplanten Thread auf dem aktuellen Prozessor übergeben werden kann. Das Betriebssystem wird den nächsten Thread auswählen.
Hinweis: Die Methode ist auf den Prozessor beschränkt, der den aufrufenden Thread ausführt.
Yield ist für das ganze System bereitgestellt. Das Betriebssystem bestimmt den ausgeführten Thread, aber nicht unbedingt aus dem gleichen Prozess. Alle Threads werden nach Priorität und unabhängig vom Prozess geplant. Es gibt kein Muster, da die Planung der Threads ein dynamischer Prozess ist. Sie ist von allen anderen auf dem System ausgeführten Threads betroffen, einschließlich der Dienste und der Kernel-Threads. Das Betriebssystem wird tatsächlich die Priorität eines Threads vergrößern, wenn er seit langem nicht geplant wurde. Dies ist zum Steuern der Ausführungsblockierung der Threads und der Lock-Convoys hilfreich. Ein Lock-Convoy tritt auf, wenn ein Thread eine Sperre länger aufrechterhält, als es für die neuen Aufgaben/Threads notwendig ist, um die Sperre zu bekommen.