ReaderWriterLock::IsReaderLockHeld Property
.NET Framework (current version)
Gets a value indicating whether the current thread holds a reader lock.
Assembly: mscorlib (in mscorlib.dll)
Property Value
Type: System::Booleantrue if the current thread holds a reader lock; otherwise, false.
The following code example demonstrates how to use IsReaderLockHeld to avoid deadlocks.
using namespace System; using namespace System::Threading; int main() { ReaderWriterLock^ rwLock = gcnew ReaderWriterLock; rwLock->AcquireWriterLock( Timeout::Infinite ); rwLock->AcquireReaderLock( Timeout::Infinite ); if ( rwLock->IsReaderLockHeld ) { Console::WriteLine( "Reader lock held." ); rwLock->ReleaseReaderLock(); } else if ( rwLock->IsWriterLockHeld ) { Console::WriteLine( "Writer lock held." ); rwLock->ReleaseWriterLock(); } else { Console::WriteLine( "No locks held." ); } if ( rwLock->IsReaderLockHeld ) { Console::WriteLine( "Reader lock held." ); rwLock->ReleaseReaderLock(); } else if ( rwLock->IsWriterLockHeld ) { Console::WriteLine( "Writer lock held." ); rwLock->ReleaseWriterLock(); } else { Console::WriteLine( "No locks held." ); } }
.NET Framework
Available since 1.1
Available since 1.1
Show: