CSingleLock::Lock

CSingleLock のコンストラクターに指定された同期オブジェクトによって制御されるリソースにアクセスするためにこの関数を呼び出します。

BOOL Lock(
   DWORD dwTimeOut = INFINITE 
);

パラメーター

  • dwTimeOut
    同期オブジェクトを使用するために待機する時間を指定します (シグナル状態)。オブジェクトが返される前に通知されるまで待機 INFINITE、Lock が。

戻り値

関数が正常に終了した場合は、; それ以外の場合は 0。

解説

同期オブジェクトがシグナル状態で、Lock が正常に戻り、スレッドは、オブジェクトを所有します。同期オブジェクト (利用不可) nonsignaled、Lock は dwTimeOut の パラメーターで指定したミリ秒数までがシグナル状態になるために同期オブジェクトを待機します。同期オブジェクトを指定した時間でシグナル状態になっていない場合、Lock はエラーを返します。

使用例

// m_Mutex is a data member (of type CMutex)
// of an existing class that implements the resource being shared.

// Relate the synchronization object (m_Mutex) with
// our CSingleLock object. 
CSingleLock singleLock(&m_Mutex);

// Attempt to lock the shared resource
if (singleLock.Lock(100))    // Wait 100 ms...
{
    // We were able to lock the resource;
    // we may now work with the data associated with the mutex...

    // Now that we are finished, unlock the resource for others.
    singleLock.Unlock();
}

必要条件

Header: afxmt.h

参照

関連項目

CSingleLock クラス

階層図