System.Classes.TThread.Yield

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

class procedure Yield; static;

C++

static void __fastcall Yield();

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.

Siehe auch

Codebeispiele