Gewusst wie: Implementieren des C#-Schlüsselworts lock in C++
Aktualisiert: November 2007
In diesem Thema wird erläutert, wie das C#-Schlüsselwort lock in Visual C++ implementiert wird. Weitere Informationen finden Sie unter lock-Anweisung (C#-Referenz).
Sie können auch die lock-Klasse in der C++-Unterstützungsbibliothek verwenden. Weitere Informationen finden Sie unter Synchronization (lock Class).
Beispiel
// 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
}