A monitor object for thread synchronization.
sealed class
|
Monitor
|
extends
|
Disposable
|
||
implements
|
IBeginEndSync
|
Returns the lifecycle state of this object.
public
virtual
property
|
LifecycleState
{
get
}
|
||
type
|
LifecycleState
|
||
value
|
The lifecycle state. | ||
inherited
|
Disposable.LifecycleState
|
Creates a new instance of Monitor.
public
constructor
|
Monitor
()
|
Acquires a strong reference to this disposable object.
[OwnerReturn, ThreadSafe]
|
||||
public
method
|
AcquireTry
()
|
|||
type
|
IDisposable
|
|||
returns
|
this
if
a
new
strong
reference
has
been
acquired,
null
if
this
object
is
already
being
disposed.
|
|||
inherited
|
Disposable.AcquireTry
|
Remarks:
The object will not be actually disposed by calls to Dispose when there is at least one strong reference left. Code that calls the AcquireTry method is responsible for calling the Dispose method accordingly.
This method is not intended to be used in performance-critical code. It should only be used to high-level resource management.
Begins an access to this object.
public
method
|
Begin
()
|
||
implements
|
IBeginEnd.Begin
|
Remarks:
See the documentation of the class which implements this interface for details on the operations that must be wrapped in Begin and End calls.
See also:
BeginEndEnters the global mutex.
public
static
method
|
BeginGlobal
()
|
Releases all resources held by this object if there are no more strong references to it, decrements the reference counter by one otherwise.
[Dispose, OwnerThis, ThreadSafe]
|
||||
public
method
|
Dispose
()
|
|||
inherited
|
Disposable.Dispose
|
Remarks:
The Dispose method silently returns if the object has already been disposed.
Ends the current access to this object.
public
method
|
End
()
|
||
implements
|
IBeginEnd.End
|
Remarks:
See the documentation of the class which implements this interface for details on the operations that must be wrapped in Begin and End calls.
See also:
BeginEndLeaves the global mutex.
public
static
method
|
EndGlobal
()
|
Notifies all threads currently blocked in a call to WaitForNotify.
public
method
|
NotifyWaiting
()
|
||
implements
|
IBeginEndSync.NotifyWaiting
|
Waits until one of the events described below takes place and reacquires the lock on this monitor.
public
method
|
WaitForNotify
(int32 timeout = 50)
|
||
params
|
timeout
|
[>0]
|
The
timeout
value,
in
milliseconds.
Defaults
to
50 .
|
implements
|
IBeginEndSync.WaitForNotify
|
Remarks:
The calling thread will be blocked until one of the following events takes place:
Exceptions: