System.SyncObjs.TConditionVariableHelper.SleepCS

提供: RAD Studio API Documentation
移動先: 案内検索

Delphi

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

プロパティ

種類 可視性 ソース ユニット
function public System.SyncObjs.pas System.SyncObjs TConditionVariableHelper

説明

条件変数を指定してスリープし、指定されたクリティカル セクションを解放します。

SleepCS を呼び出すと、条件変数を指定してスリープし、CriticalSection パラメータで指定されたクリティカル セクションを解放することができます。

dwMilliseconds パラメータではタイムアウトの時間を設定します。この時間が経過すると、条件変数が他のスレッドによって起こされなくても、クリティカル セクションが再取得されます。

Wake メソッドや WakeAll メソッドを明示的に呼び出さないのに、条件変数が突然に起こされることがあります。また、条件変数を指定してスリープしているスレッドが起こされる前に、他のスレッドが動作することもあります。そのため、SleepCS の呼び出しはループ内で行ってください。上述のエラーが起きないようにするには、期待している条件が条件変数が起こされた後でも真になることを、ループでテストする必要があります。

関連項目