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

Portable Class Library

Supported in: Portable Class Library

Supported in: Windows Phone 8.1

Supported in: Windows Phone Silverlight 8.1

Supported in: Windows Phone Silverlight 8
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2015 Microsoft