Aracılığıyla paylaş


Nasıl yapılır: C# anahtar kilit uygulamak (C++/ CLI)

Bu konu C# lock anahtar kelimesinin Visual C++' ta nasıl uygulanacağını göstermektedir.Daha fazla bilgi için bkz. LOCK deyimi (C# Reference).

Ayrıca, C++ Support Library içindeki lock sınıfını kullanabilirsiniz.Daha fazla bilgi için bkz. Eşitleme (kilit sınıfı).

Örnek

// 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;
}

Ayrıca bkz.

Diğer Kaynaklar

Diğer ile birlikte çalışabilirlik.net dilleri (C++/ CLI)