System.SyncObjs.TLightweightSemaphore.WaitFor
Delphi
function WaitFor(Timeout: Cardinal = INFINITE): TWaitResult; overload; override;
C++
virtual System::Types::TWaitResult __fastcall WaitFor(unsigned Timeout = (unsigned)(0xffffffff))/* overload */;
inline System::Types::TWaitResult __fastcall WaitFor(const System::Timespan::TTimeSpan &Timeout){ return TSynchroObject::WaitFor(Timeout); }
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
function | public | System.SyncObjs.pas System.SyncObjs.hpp |
System.SyncObjs | TLightweightSemaphore |
説明
TLightweightSemaphore がシグナル状態になるか、指定したタイムアウトになるまで、呼び出しているスレッドをブロックします。
しかしながら、即座にブロックするわけではありません。WaitFor は、まず 2、3 CPU 周期をスピンループで待機し、それでもなお、セマフォがシグナル状態でなかった場合に、スレッドをブロックします。
WaitFor は、TWaitResult を返します。