共用方式為


HOW TO:以 C++ 實作鎖定 C# 關鍵字

更新:2007 年 11 月

本主題說明如何在 Visual C++ 中實作 C# lock 關鍵字。如需詳細資訊,請參閱lock 陳述式 (C# 參考)

您也可以使用 C++ 支援程式庫中的 lock 類別。如需詳細資訊,請參閱Synchronization (lock Class)

範例

// CS_lock_in_CPP.cpp
// compile with: /clr /c
using namespace System::Threading;
ref class Lock {
   Object^ m_pObject;
   Lock % operator=( Lock const % );
   Lock( Lock const % );
public:
   Lock( Object ^ pObject ) : m_pObject( pObject ) {
      Monitor::Enter( m_pObject );
   }
   ~Lock() {
      Monitor::Exit( m_pObject );
   }
};

ref struct LockHelper {
   void DoSomething();
};

void LockHelper::DoSomething() {
   // Note: Reference type with stack allocation semantics to provide 
   // deterministic finalization

   Lock lock( this );   
   // LockHelper instance is locked
}

請參閱

其他資源

C++ 與其他 .NET 語言的互通性