Monitor.Exit Method (Object)

 

Releases an exclusive lock on the specified object.

Namespace:   System.Threading
Assembly:  mscorlib (in mscorlib.dll)

static member Exit : 
        obj:Object -> unit

Parameters

obj
Type: System.Object

The object on which to release the lock.

Exception Condition
ArgumentNullException

The obj parameter is null.

SynchronizationLockException

The current thread does not own the lock for the specified object.

The calling thread must own the lock on the obj parameter. If the calling thread owns the lock on the specified object, and has made an equal number of Exit and Enter calls for the object, then the lock is released. If the calling thread has not invoked Exit as many times as Enter, the lock is not released.

If the lock is released and other threads are in the ready queue for the object, one of the threads acquires the lock. If other threads are in the waiting queue waiting to acquire the lock, they are not automatically moved to the ready queue when the owner of the lock calls Exit. To move one or more waiting threads into the ready queue, call Pulse or PulseAll before invoking Exit.

The following example demonstrates how to use the Exit method.

No code example is currently available or this language may not be supported.

Universal Windows Platform
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top
Show: