Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

Monitor.TryEnter Method (Object, TimeSpan)

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

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

public static bool TryEnter(
	Object obj,
	TimeSpan timeout
)

Parameters

obj
Type: System.Object

The object on which to acquire the lock.

timeout
Type: System.TimeSpan

A TimeSpan representing the amount of time to wait for the lock. A value of –1 millisecond specifies an infinite wait.

Return Value

Type: System.Boolean
true if the current thread acquires the lock; otherwise, false.

ExceptionCondition
ArgumentNullException

The obj parameter is null.

ArgumentOutOfRangeException

The value of timeout in milliseconds is negative and is not equal to Infinite (–1 millisecond), or is greater than MaxValue.

If the value of the timeout parameter converted to milliseconds equals –1, this method is equivalent to Enter. If the value of timeout equals 0, this method is equivalent to TryEnter.

NoteNote

Use Monitor to lock objects (that is, reference types), not value types. For details, see Enter and the conceptual topic Monitors.

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

.NET for Windows Phone apps

Supported in: Windows Phone 8.1, Windows Phone Silverlight 8.1, Windows Phone Silverlight 8

Portable Class Library

Supported in: Portable Class Library
Show:
© 2015 Microsoft