다음을 통해 공유


방법: lock C# 키워드 구현(C++/CLI)

이 항목에서는 C# lock 키워드를 Visual C++에서 구현하는 방법을 보여 줍니다. 자세한 내용은 lock 문(C# 참조)을 참조하십시오.

C++ 지원 라이브러리에서 lock 클래스를 사용할 수도 있습니다. 자세한 내용은 Synchronization (lock Class)을 참조하십시오.

예제

// CS_lock_in_CPP.cpp
// compile with: /clr
using namespace System::Threading;
ref class Lock {
   Object^ m_pObject;
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
}

int main()
{
   LockHelper lockHelper;
   lockHelper.DoSomething();
   return 0;
}

참고 항목

기타 리소스

다른 .NET 언어와의 상호 운용성(C++/CLI)