Movatterモバイル変換


[0]ホーム

URL:


Skip to main contentSkip to in-page navigation

This browser is no longer supported.

Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

Download Microsoft EdgeMore info about Internet Explorer and Microsoft Edge
Table of contentsExit focus mode

Monitor Class

Definition

Namespace:
System.Threading
Assemblies:
mscorlib.dll, System.Threading.dll
Assemblies:
netstandard.dll, System.Threading.dll
Assembly:
System.Threading.dll
Assembly:
mscorlib.dll
Assembly:
netstandard.dll
Source:
Monitor.cs
Source:
Monitor.cs
Source:
Monitor.cs
Source:
Monitor.cs

Important

Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.

Provides a mechanism that synchronizes access to objects.

public ref class Monitor abstract sealed
public ref class Monitor sealed
public static class Monitor
public sealed class Monitor
[System.Runtime.InteropServices.ComVisible(true)]public static class Monitor
type Monitor = class
[<System.Runtime.InteropServices.ComVisible(true)>]type Monitor = class
Public Class Monitor
Public NotInheritable Class Monitor
Inheritance
Monitor
Attributes

Remarks

For more information about this API, seeSupplemental API remarks for Monitor.

Properties

LockContentionCount

Gets the number of times there was contention when trying to take the monitor's lock.

Methods

Enter(Object, Boolean)

Acquires an exclusive lock on the specified object, and atomically sets a value that indicates whether the lock was taken.

Enter(Object)

Acquires an exclusive lock on the specified object.

Exit(Object)

Releases an exclusive lock on the specified object.

IsEntered(Object)

Determines whether the current thread holds the lock on the specified object.

Pulse(Object)

Notifies a thread in the waiting queue of a change in the locked object's state.

PulseAll(Object)

Notifies all waiting threads of a change in the object's state.

TryEnter(Object, Boolean)

Attempts to acquire an exclusive lock on the specified object, and atomically sets a value that indicates whether the lock was taken.

TryEnter(Object, Int32, Boolean)

Attempts, for the specified number of milliseconds, to acquire an exclusive lock on the specified object, and atomically sets a value that indicates whether the lock was taken.

TryEnter(Object, Int32)

Attempts, for the specified number of milliseconds, to acquire an exclusive lock on the specified object.

TryEnter(Object, TimeSpan, Boolean)

Attempts, for the specified amount of time, to acquire an exclusive lock on the specified object, and atomically sets a value that indicates whether the lock was taken.

TryEnter(Object, TimeSpan)

Attempts, for the specified amount of time, to acquire an exclusive lock on the specified object.

TryEnter(Object)

Attempts to acquire an exclusive lock on the specified object.

Wait(Object, Int32, Boolean)

Releases the lock on an object and blocks the current thread until it reacquires the lock. If the specified time-out interval elapses, the thread enters the ready queue. This method also specifies whether the synchronization domain for the context (if in a synchronized context) is exited before the wait and reacquired afterward.

Wait(Object, Int32)

Releases the lock on an object and blocks the current thread until it reacquires the lock. If the specified time-out interval elapses, the thread enters the ready queue.

Wait(Object, TimeSpan, Boolean)

Releases the lock on an object and blocks the current thread until it reacquires the lock. If the specified time-out interval elapses, the thread enters the ready queue. Optionally exits the synchronization domain for the synchronized context before the wait and reacquires the domain afterward.

Wait(Object, TimeSpan)

Releases the lock on an object and blocks the current thread until it reacquires the lock. If the specified time-out interval elapses, the thread enters the ready queue.

Wait(Object)

Releases the lock on an object and blocks the current thread until it reacquires the lock.

Applies to

Thread Safety

This type is thread safe.

See also

Collaborate with us on GitHub
The source for this content can be found on GitHub, where you can also create and review issues and pull requests. For more information, seeour contributor guide.

Feedback

Was this page helpful?

YesNo

In this article

Was this page helpful?

YesNo