System.MonitorEnter

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

Delphi

function MonitorEnter(const AObject: TObject; Timeout: Cardinal = INFINITE): Boolean;

C++

extern DELPHI_PACKAGE bool __fastcall MonitorEnter(TObject* const AObject, unsigned Timeout = (unsigned)(0xffffffff));

プロパティ

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

説明

呼び出し側スレッド以外のすべてのスレッドから指定のオブジェクトにアクセスできないようにします。

MonitorEnter 関数を使用すると、呼び出し側スレッド以外のスレッドから AObject にアクセスできなくなります。

指定されたオブジェクトのロックを試みる前に、MonitorEnter は、そのオブジェクトを現在ロックしているスレッドが存在する場合、そのスレッドが MonitorEnterMonitorExit を同じ回数呼び出したかどうかを検査します。呼び出した回数が異なる場合、前のスレッドが解放するまで、呼び出し側スレッドはそのオブジェクトにアクセスできなくなります。

MonitorEnter は、指定されたオブジェクトを Timeout パラメータで指定された時間だけロックしようと試みます。首尾よくロックできた場合、MonitorEnter は True を返し、そうでない場合は False を返します。

関連項目