ReaderWriterLock::IsWriterLockHeld Property
.NET Framework (current version)
Gets a value indicating whether the current thread holds the writer lock.
Assembly: mscorlib (in mscorlib.dll)
Property Value
Type: System::Booleantrue if the current thread holds the writer lock; otherwise, false.
The following code example demonstrates that when an attempt is made to acquire a reader lock on a thread that has a writer lock, ReaderWriterLock does not grant the reader lock but instead increments the lock count on the writer lock.
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: