System.SyncObjs.TConditionVariableHelper.SleepCS

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

function SleepCS(var CriticalSection: TRTLCriticalSection; dwMilliseconds: DWORD): Boolean;

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
function public System.SyncObjs.pas System.SyncObjs TConditionVariableHelper

Beschreibung

Wartet auf die Bedingungsvariable und gibt den kritischen Abschnitt frei.

SleepCS wartet auf die Bedingungsvariable und gibt den kritischen Abschnitt frei, der im Parameter CriticalSection angegeben ist.

Der Parameter dwMilliseconds legt das Zeitüberschreitungsintervall fest. Wenn dieses Intervall abgelaufen ist, wird der kritische Abschnitt erneut belegt, auch wenn die Bedingungsvariable nicht von anderen Threads aktiviert worden ist.

Bedingungsvariablen können plötzlich aktiviert werden, ohne dass ein expliziter Aufruf der Methoden Wake oder WakeAll erfolgt ist. Es ist auch möglich, dass andere Threads ausgeführt werden, bevor der Thread aktiviert wird, der auf die Bedingungsvariable wartet. Rufen Sie deshalb SleepCS in einer Schleife auf. Um die oben genannten Fehler zu vermeiden, sollte die Schleife testen, ob die gewünschte Bedingung auch erfüllt wird, nachdem die Bedingungsvariable aktiviert wurde.

Siehe auch