System.Threading The exception that is thrown when one thread acquires a object that another thread has abandoned by exiting without releasing it. 1 Initializes a new instance of the class with default values. Initializes a new instance of the class with a specified index for the abandoned mutex, if applicable, and a object that represents the mutex. The index of the abandoned mutex in the array of wait handles if the exception is thrown for the method, or –1 if the exception is thrown for the or methods. A object that represents the abandoned mutex. Initializes a new instance of the class with a specified error message. An error message that explains the reason for the exception. Initializes a new instance of the class with a specified error message and inner exception. An error message that explains the reason for the exception. The exception that is the cause of the current exception. If the parameter is not null, the current exception is raised in a catch block that handles the inner exception. Initializes a new instance of the class with a specified error message, the inner exception, the index for the abandoned mutex, if applicable, and a object that represents the mutex. An error message that explains the reason for the exception. The exception that is the cause of the current exception. If the parameter is not null, the current exception is raised in a catch block that handles the inner exception. The index of the abandoned mutex in the array of wait handles if the exception is thrown for the method, or –1 if the exception is thrown for the or methods. A object that represents the abandoned mutex. Initializes a new instance of the class with a specified error message, the index of the abandoned mutex, if applicable, and the abandoned mutex. An error message that explains the reason for the exception. The index of the abandoned mutex in the array of wait handles if the exception is thrown for the method, or –1 if the exception is thrown for the or methods. A object that represents the abandoned mutex. Gets the abandoned mutex that caused the exception, if known. A object that represents the abandoned mutex, or null if the abandoned mutex could not be identified. 1 Gets the index of the abandoned mutex that caused the exception, if known. The index, in the array of wait handles passed to the method, of the object that represents the abandoned mutex, or –1 if the index of the abandoned mutex could not be determined. 1 Represents ambient data that is local to a given asynchronous control flow, such as an asynchronous method. The type of the ambient data. Instantiates an instance that does not receive change notifications. Instantiates an local instance that receives change notifications. The delegate that is called whenever the current value changes on any thread. Gets or sets the value of the ambient data. The value of the ambient data. The class that provides data change information to instances that register for change notifications. The type of the data. Gets the data's current value. The data's current value. Gets the data's previous value. The data's previous value. Returns a value that indicates whether the value changes because of a change of execution context. true if the value changed because of a change of execution context; otherwise, false. Notifies a waiting thread that an event has occurred. This class cannot be inherited. 2 Initializes a new instance of the class with a Boolean value indicating whether to set the initial state to signaled. true to set the initial state to signaled; false to set the initial state to non-signaled. Enables multiple tasks to cooperatively work on an algorithm in parallel through multiple phases. Initializes a new instance of the class. The number of participating threads. is less than 0 or greater than 32,767. Initializes a new instance of the class. The number of participating threads. The to be executed after each phase. null (Nothing in Visual Basic) may be passed to indicate no action is taken. is less than 0 or greater than 32,767. Notifies the that there will be an additional participant. The phase number of the barrier in which the new participants will first participate. The current instance has already been disposed. Adding a participant would cause the barrier's participant count to exceed 32,767.-or-The method was invoked from within a post-phase action. Notifies the that there will be additional participants. The phase number of the barrier in which the new participants will first participate. The number of additional participants to add to the barrier. The current instance has already been disposed. is less than 0.-or-Adding participants would cause the barrier's participant count to exceed 32,767. The method was invoked from within a post-phase action. Gets the number of the barrier's current phase. Returns the number of the barrier's current phase. Releases all resources used by the current instance of the class. The method was invoked from within a post-phase action. Releases the unmanaged resources used by the , and optionally releases the managed resources. true to release both managed and unmanaged resources; false to release only unmanaged resources. Gets the total number of participants in the barrier. Returns the total number of participants in the barrier. Gets the number of participants in the barrier that haven’t yet signaled in the current phase. Returns the number of participants in the barrier that haven’t yet signaled in the current phase. Notifies the that there will be one less participant. The current instance has already been disposed. The barrier already has 0 participants.-or-The method was invoked from within a post-phase action. Notifies the that there will be fewer participants. The number of additional participants to remove from the barrier. The current instance has already been disposed. is less than 0. The barrier already has 0 participants.-or-The method was invoked from within a post-phase action. -or-current participant count is less than the specified participantCount The total participant count is less than the specified Signals that a participant has reached the barrier and waits for all other participants to reach the barrier as well. The current instance has already been disposed. The method was invoked from within a post-phase action, the barrier currently has 0 participants, or the barrier is signaled by more threads than are registered as participants. If an exception is thrown from the post phase action of a Barrier after all participating threads have called SignalAndWait, the exception will be wrapped in a BarrierPostPhaseException and be thrown on all participating threads. Signals that a participant has reached the barrier and waits for all other participants to reach the barrier as well, using a 32-bit signed integer to measure the timeout. if all participants reached the barrier within the specified time; otherwise false. The number of milliseconds to wait, or (-1) to wait indefinitely. The current instance has already been disposed. is a negative number other than -1, which represents an infinite time-out. The method was invoked from within a post-phase action, the barrier currently has 0 participants, or the barrier is signaled by more threads than are registered as participants. If an exception is thrown from the post phase action of a Barrier after all participating threads have called SignalAndWait, the exception will be wrapped in a BarrierPostPhaseException and be thrown on all participating threads. Signals that a participant has reached the barrier and waits for all other participants to reach the barrier as well, using a 32-bit signed integer to measure the timeout, while observing a cancellation token. if all participants reached the barrier within the specified time; otherwise false The number of milliseconds to wait, or (-1) to wait indefinitely. The to observe. has been canceled. The current instance has already been disposed. is a negative number other than -1, which represents an infinite time-out. The method was invoked from within a post-phase action, the barrier currently has 0 participants, or the barrier is signaled by more threads than are registered as participants. Signals that a participant has reached the barrier and waits for all other participants to reach the barrier, while observing a cancellation token. The to observe. has been canceled. The current instance has already been disposed. The method was invoked from within a post-phase action, the barrier currently has 0 participants, or the barrier is signaled by more threads than are registered as participants. Signals that a participant has reached the barrier and waits for all other participants to reach the barrier as well, using a object to measure the time interval. true if all other participants reached the barrier; otherwise, false. A that represents the number of milliseconds to wait, or a that represents -1 milliseconds to wait indefinitely. The current instance has already been disposed. is a negative number other than -1 milliseconds, which represents an infinite time-out, or it is greater than 32,767. The method was invoked from within a post-phase action, the barrier currently has 0 participants, or the barrier is signaled by more threads than are registered as participants. Signals that a participant has reached the barrier and waits for all other participants to reach the barrier as well, using a object to measure the time interval, while observing a cancellation token. true if all other participants reached the barrier; otherwise, false. A that represents the number of milliseconds to wait, or a that represents -1 milliseconds to wait indefinitely. The to observe. has been canceled. The current instance has already been disposed. is a negative number other than -1 milliseconds, which represents an infinite time-out. The method was invoked from within a post-phase action, the barrier currently has 0 participants, or the barrier is signaled by more threads than are registered as participants. The exception that is thrown when the post-phase action of a fails Initializes a new instance of the class with a system-supplied message that describes the error. Initializes a new instance of the class with the specified inner exception. The exception that is the cause of the current exception. Initializes a new instance of the class with a specified message that describes the error. The message that describes the exception. The caller of this constructor is required to ensure that this string has been localized for the current system culture. Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The message that describes the exception. The caller of this constructor is required to ensure that this string has been localized for the current system culture. The exception that is the cause of the current exception. If the parameter is not null, the current exception is raised in a catch block that handles the inner exception. Represents a method to be called within a new context. An object containing information to be used by the callback method each time it executes. 1 Represents a synchronization primitive that is signaled when its count reaches zero. Initializes a new instance of class with the specified count. The number of signals initially required to set the . is less than 0. Increments the 's current count by one. The current instance has already been disposed. The current instance is already set.-or- is equal to or greater than . Increments the 's current count by a specified value. The value by which to increase . The current instance has already been disposed. is less than or equal to 0. The current instance is already set.-or- is equal to or greater than after count is incremented by Gets the number of remaining signals required to set the event. The number of remaining signals required to set the event. Releases all resources used by the current instance of the class. Releases the unmanaged resources used by the , and optionally releases the managed resources. true to release both managed and unmanaged resources; false to release only unmanaged resources. Gets the numbers of signals initially required to set the event. The number of signals initially required to set the event. Determines whether the event is set. true if the event is set; otherwise, false. Resets the to the value of . The current instance has already been disposed.. Resets the property to a specified value. The number of signals required to set the . The current instance has alread been disposed. is less than 0. Registers a signal with the , decrementing the value of . true if the signal caused the count to reach zero and the event was set; otherwise, false. The current instance has already been disposed. The current instance is already set. Registers multiple signals with the , decrementing the value of by the specified amount. true if the signals caused the count to reach zero and the event was set; otherwise, false. The number of signals to register. The current instance has already been disposed. is less than 1. The current instance is already set. -or- Or is greater than . Attempts to increment by one. true if the increment succeeded; otherwise, false. If is already at zero, this method will return false. The current instance has already been disposed. is equal to . Attempts to increment by a specified value. true if the increment succeeded; otherwise, false. If is already at zero this will return false. The value by which to increase . The current instance has already been disposed. is less than or equal to 0. The current instance is already set.-or- + is equal to or greater than . Blocks the current thread until the is set. The current instance has already been disposed. Blocks the current thread until the is set, using a 32-bit signed integer to measure the timeout. true if the was set; otherwise, false. The number of milliseconds to wait, or (-1) to wait indefinitely. The current instance has already been disposed. is a negative number other than -1, which represents an infinite time-out. Blocks the current thread until the is set, using a 32-bit signed integer to measure the timeout, while observing a . true if the was set; otherwise, false. The number of milliseconds to wait, or (-1) to wait indefinitely. The to observe. has been canceled. The current instance has already been disposed. -or- The that created has already been disposed. is a negative number other than -1, which represents an infinite time-out. Blocks the current thread until the is set, while observing a . The to observe. has been canceled. The current instance has already been disposed. -or- The that created has already been disposed. Blocks the current thread until the is set, using a to measure the timeout. true if the was set; otherwise, false. A that represents the number of milliseconds to wait, or a that represents -1 milliseconds to wait indefinitely. The current instance has already been disposed. is a negative number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than . Blocks the current thread until the is set, using a to measure the timeout, while observing a . true if the was set; otherwise, false. A that represents the number of milliseconds to wait, or a that represents -1 milliseconds to wait indefinitely. The to observe. has been canceled. The current instance has already been disposed. -or- The that created has already been disposed. is a negative number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than . Gets a that is used to wait for the event to be set. A that is used to wait for the event to be set. The current instance has already been disposed. Indicates whether an is reset automatically or manually after receiving a signal. 2 When signaled, the resets automatically after releasing a single thread. If no threads are waiting, the remains signaled until a thread blocks, and resets after releasing the thread. When signaled, the releases all waiting threads and remains signaled until it is manually reset. Represents a thread synchronization event. 2 Initializes a new instance of the class, specifying whether the wait handle is initially signaled, and whether it resets automatically or manually. true to set the initial state to signaled; false to set it to nonsignaled. One of the values that determines whether the event resets automatically or manually. Initializes a new instance of the class, specifying whether the wait handle is initially signaled if created as a result of this call, whether it resets automatically or manually, and the name of a system synchronization event. true to set the initial state to signaled if the named event is created as a result of this call; false to set it to nonsignaled. One of the values that determines whether the event resets automatically or manually. The name of a system-wide synchronization event. A Win32 error occurred. The named event exists and has access control security, but the user does not have . The named event cannot be created, perhaps because a wait handle of a different type has the same name. is longer than 260 characters. Initializes a new instance of the class, specifying whether the wait handle is initially signaled if created as a result of this call, whether it resets automatically or manually, the name of a system synchronization event, and a Boolean variable whose value after the call indicates whether the named system event was created. true to set the initial state to signaled if the named event is created as a result of this call; false to set it to nonsignaled. One of the values that determines whether the event resets automatically or manually. The name of a system-wide synchronization event. When this method returns, contains true if a local event was created (that is, if is null or an empty string) or if the specified named system event was created; false if the specified named system event already existed. This parameter is passed uninitialized. A Win32 error occurred. The named event exists and has access control security, but the user does not have . The named event cannot be created, perhaps because a wait handle of a different type has the same name. is longer than 260 characters. Opens the specified named synchronization event, if it already exists. An object that represents the named system event. The name of the system synchronization event to open. is an empty string. -or- is longer than 260 characters. is null. The named system event does not exist. A Win32 error occurred. The named event exists, but the user does not have the security access required to use it. 1 Sets the state of the event to nonsignaled, causing threads to block. true if the operation succeeds; otherwise, false. The method was previously called on this . 2 Sets the state of the event to signaled, allowing one or more waiting threads to proceed. true if the operation succeeds; otherwise, false. The method was previously called on this . 2 Opens the specified named synchronization event, if it already exists, and returns a value that indicates whether the operation succeeded. true if the named synchronization event was opened successfully; otherwise, false. The name of the system synchronization event to open. When this method returns, contains a object that represents the named synchronization event if the call succeeded, or null if the call failed. This parameter is treated as uninitialized. is an empty string.-or- is longer than 260 characters. is null. A Win32 error occurred. The named event exists, but the user does not have the desired security access. Manages the execution context for the current thread. This class cannot be inherited. 2 Captures the execution context from the current thread. An object representing the execution context for the current thread. 1 Runs a method in a specified execution context on the current thread. The to set. A delegate that represents the method to be run in the provided execution context. The object to pass to the callback method. is null.-or- was not acquired through a capture operation. -or- has already been used as the argument to a call. 1 Provides atomic operations for variables that are shared by multiple threads. 2 Adds two 32-bit integers and replaces the first integer with the sum, as an atomic operation. The new value stored at . A variable containing the first value to be added. The sum of the two values is stored in . The value to be added to the integer at . The address of is a null pointer. 1 Adds two 64-bit integers and replaces the first integer with the sum, as an atomic operation. The new value stored at . A variable containing the first value to be added. The sum of the two values is stored in . The value to be added to the integer at . The address of is a null pointer. 1 Compares two double-precision floating point numbers for equality and, if they are equal, replaces the first value. The original value in . The destination, whose value is compared with and possibly replaced. The value that replaces the destination value if the comparison results in equality. The value that is compared to the value at . The address of is a null pointer. 1 Compares two 32-bit signed integers for equality and, if they are equal, replaces the first value. The original value in . The destination, whose value is compared with and possibly replaced. The value that replaces the destination value if the comparison results in equality. The value that is compared to the value at . The address of is a null pointer. 1 Compares two 64-bit signed integers for equality and, if they are equal, replaces the first value. The original value in . The destination, whose value is compared with and possibly replaced. The value that replaces the destination value if the comparison results in equality. The value that is compared to the value at . The address of is a null pointer. 1 Compares two platform-specific handles or pointers for equality and, if they are equal, replaces the first one. The original value in . The destination , whose value is compared with the value of and possibly replaced by . The that replaces the destination value if the comparison results in equality. The that is compared to the value at . The address of is a null pointer. 1 Compares two objects for reference equality and, if they are equal, replaces the first object. The original value in . The destination object that is compared with and possibly replaced. The object that replaces the destination object if the comparison results in equality. The object that is compared to the object at . The address of is a null pointer. 1 Compares two single-precision floating point numbers for equality and, if they are equal, replaces the first value. The original value in . The destination, whose value is compared with and possibly replaced. The value that replaces the destination value if the comparison results in equality. The value that is compared to the value at . The address of is a null pointer. 1 Compares two instances of the specified reference type for equality and, if they are equal, replaces the first one. The original value in . The destination, whose value is compared with and possibly replaced. This is a reference parameter (ref in C#, ByRef in Visual Basic). The value that replaces the destination value if the comparison results in equality. The value that is compared to the value at . The type to be used for , , and . This type must be a reference type. The address of is a null pointer. Decrements a specified variable and stores the result, as an atomic operation. The decremented value. The variable whose value is to be decremented. The address of is a null pointer. 1 Decrements the specified variable and stores the result, as an atomic operation. The decremented value. The variable whose value is to be decremented. The address of is a null pointer. 1 Sets a double-precision floating point number to a specified value and returns the original value, as an atomic operation. The original value of . The variable to set to the specified value. The value to which the parameter is set. The address of is a null pointer. 1 Sets a 32-bit signed integer to a specified value and returns the original value, as an atomic operation. The original value of . The variable to set to the specified value. The value to which the parameter is set. The address of is a null pointer. 1 Sets a 64-bit signed integer to a specified value and returns the original value, as an atomic operation. The original value of . The variable to set to the specified value. The value to which the parameter is set. The address of is a null pointer. 1 Sets a platform-specific handle or pointer to a specified value and returns the original value, as an atomic operation. The original value of . The variable to set to the specified value. The value to which the parameter is set. The address of is a null pointer. 1 Sets an object to a specified value and returns a reference to the original object, as an atomic operation. The original value of . The variable to set to the specified value. The value to which the parameter is set. The address of is a null pointer. 1 Sets a single-precision floating point number to a specified value and returns the original value, as an atomic operation. The original value of . The variable to set to the specified value. The value to which the parameter is set. The address of is a null pointer. 1 Sets a variable of the specified type to a specified value and returns the original value, as an atomic operation. The original value of . The variable to set to the specified value. This is a reference parameter (ref in C#, ByRef in Visual Basic). The value to which the parameter is set. The type to be used for and . This type must be a reference type. The address of is a null pointer. Increments a specified variable and stores the result, as an atomic operation. The incremented value. The variable whose value is to be incremented. The address of is a null pointer. 1 Increments a specified variable and stores the result, as an atomic operation. The incremented value. The variable whose value is to be incremented. The address of is a null pointer. 1 Synchronizes memory access as follows: The processor that executes the current thread cannot reorder instructions in such a way that memory accesses before the call to execute after memory accesses that follow the call to . Returns a 64-bit value, loaded as an atomic operation. The loaded value. The 64-bit value to be loaded. 1 Provides lazy initialization routines. Initializes a target reference type with the type's default constructor if it hasn't already been initialized. The initialized reference of type . A reference of type to initialize if it has not already been initialized. The type of the reference to be initialized. Permissions to access the constructor of type were missing. Type does not have a default constructor. Initializes a target reference or value type with its default constructor if it hasn't already been initialized. The initialized value of type . A reference or value of type to initialize if it hasn't already been initialized. A reference to a Boolean value that determines whether the target has already been initialized. A reference to an object used as the mutually exclusive lock for initializing . If is null, a new object will be instantiated. The type of the reference to be initialized. Permissions to access the constructor of type were missing. Type does not have a default constructor. Initializes a target reference or value type by using a specified function if it hasn't already been initialized. The initialized value of type . A reference or value of type to initialize if it hasn't already been initialized. A reference to a Boolean value that determines whether the target has already been initialized. A reference to an object used as the mutually exclusive lock for initializing . If is null, a new object will be instantiated. The function that is called to initialize the reference or value. The type of the reference to be initialized. Permissions to access the constructor of type were missing. Type does not have a default constructor. Initializes a target reference type by using a specified function if it hasn't already been initialized. The initialized value of type . The reference of type to initialize if it hasn't already been initialized. The function that is called to initialize the reference. The reference type of the reference to be initialized. Type does not have a default constructor. returned null (Nothing in Visual Basic). The exception that is thrown when recursive entry into a lock is not compatible with the recursion policy for the lock. 2 Initializes a new instance of the class with a system-supplied message that describes the error. 2 Initializes a new instance of the class with a specified message that describes the error. The message that describes the exception. The caller of this constructor must make sure that this string has been localized for the current system culture. 2 Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The message that describes the exception. The caller of this constructor must make sure that this string has been localized for the current system culture. The exception that caused the current exception. If the parameter is not null, the current exception is raised in a catch block that handles the inner exception. 2 Specifies whether a lock can be entered multiple times by the same thread. If a thread tries to enter a lock recursively, an exception is thrown. Some classes may allow certain recursions when this setting is in effect. A thread can enter a lock recursively. Some classes may restrict this capability. Notifies one or more waiting threads that an event has occurred. This class cannot be inherited. 2 Initializes a new instance of the class with a Boolean value indicating whether to set the initial state to signaled. true to set the initial state signaled; false to set the initial state to nonsignaled. Provides a slimmed down version of . Initializes a new instance of the class with an initial state of nonsignaled. Initializes a new instance of the class with a Boolean value indicating whether to set the intial state to signaled. true to set the initial state signaled; false to set the initial state to nonsignaled. Initializes a new instance of the class with a Boolean value indicating whether to set the intial state to signaled and a specified spin count. true to set the initial state to signaled; false to set the initial state to nonsignaled. The number of spin waits that will occur before falling back to a kernel-based wait operation. is less than 0 or greater than the maximum allowed value. Releases all resources used by the current instance of the class. Releases the unmanaged resources used by the , and optionally releases the managed resources. true to release both managed and unmanaged resources; false to release only unmanaged resources. Gets whether the event is set. true if the event has is set; otherwise, false. Sets the state of the event to nonsignaled, which causes threads to block. The object has already been disposed. Sets the state of the event to signaled, which allows one or more threads waiting on the event to proceed. Gets the number of spin waits that will be occur before falling back to a kernel-based wait operation. Returns the number of spin waits that will be occur before falling back to a kernel-based wait operation. Blocks the current thread until the current is set. The maximum number of waiters has been exceeded. The object has already been disposed. Blocks the current thread until the current is set, using a 32-bit signed integer to measure the time interval. true if the was set; otherwise, false. The number of milliseconds to wait, or (-1) to wait indefinitely. is a negative number other than -1, which represents an infinite time-out. The maximum number of waiters has been exceeded. The object has already been disposed. Blocks the current thread until the current is set, using a 32-bit signed integer to measure the time interval, while observing a . true if the was set; otherwise, false. The number of milliseconds to wait, or (-1) to wait indefinitely. The to observe. was canceled. is a negative number other than -1, which represents an infinite time-out. The maximum number of waiters has been exceeded. The object has already been disposed or the that created has been disposed. Blocks the current thread until the current receives a signal, while observing a . The to observe. The maximum number of waiters has been exceeded. was canceled. The object has already been disposed or the that created has been disposed. Blocks the current thread until the current is set, using a to measure the time interval. true if the was set; otherwise, false. A that represents the number of milliseconds to wait, or a that represents -1 milliseconds to wait indefinitely. is a negative number other than -1 milliseconds, which represents an infinite time-out. -or-The number of milliseconds in is greater than . The maximum number of waiters has been exceeded. The object has already been disposed. Blocks the current thread until the current is set, using a to measure the time interval, while observing a . true if the was set; otherwise, false. A that represents the number of milliseconds to wait, or a that represents -1 milliseconds to wait indefinitely. The to observe. was canceled. is a negative number other than -1 milliseconds, which represents an infinite time-out. -or-The number of milliseconds in is greater than . The maximum number of waiters has been exceeded. The object has already been disposed or the that created has been disposed. Gets the underlying object for this . The underlying event object fore this . Provides a mechanism that synchronizes access to objects. 2 Acquires an exclusive lock on the specified object. The object on which to acquire the monitor lock. The parameter is null. 1 Acquires an exclusive lock on the specified object, and atomically sets a value that indicates whether the lock was taken. The object on which to wait. The result of the attempt to acquire the lock, passed by reference. The input must be false. The output is true if the lock is acquired; otherwise, the output is false. The output is set even if an exception occurs during the attempt to acquire the lock. Note   If no exception occurs, the output of this method is always true. The input to is true. The parameter is null. Releases an exclusive lock on the specified object. The object on which to release the lock. The parameter is null. The current thread does not own the lock for the specified object. 1 Determines whether the current thread holds the lock on the specified object. true if the current thread holds the lock on ; otherwise, false. The object to test. is null. Notifies a thread in the waiting queue of a change in the locked object's state. The object a thread is waiting for. The parameter is null. The calling thread does not own the lock for the specified object. 1 Notifies all waiting threads of a change in the object's state. The object that sends the pulse. The parameter is null. The calling thread does not own the lock for the specified object. 1 Attempts to acquire an exclusive lock on the specified object. true if the current thread acquires the lock; otherwise, false. The object on which to acquire the lock. The parameter is null. 1 Attempts to acquire an exclusive lock on the specified object, and atomically sets a value that indicates whether the lock was taken. The object on which to acquire the lock. The result of the attempt to acquire the lock, passed by reference. The input must be false. The output is true if the lock is acquired; otherwise, the output is false. The output is set even if an exception occurs during the attempt to acquire the lock. The input to is true. The parameter is null. Attempts, for the specified number of milliseconds, to acquire an exclusive lock on the specified object. true if the current thread acquires the lock; otherwise, false. The object on which to acquire the lock. The number of milliseconds to wait for the lock. The parameter is null. is negative, and not equal to . 1 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. The object on which to acquire the lock. The number of milliseconds to wait for the lock. The result of the attempt to acquire the lock, passed by reference. The input must be false. The output is true if the lock is acquired; otherwise, the output is false. The output is set even if an exception occurs during the attempt to acquire the lock. The input to is true. The parameter is null. is negative, and not equal to . Attempts, for the specified amount of time, to acquire an exclusive lock on the specified object. true if the current thread acquires the lock; otherwise, false. The object on which to acquire the lock. A representing the amount of time to wait for the lock. A value of –1 millisecond specifies an infinite wait. The parameter is null. The value of in milliseconds is negative and is not equal to (–1 millisecond), or is greater than . 1 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. The object on which to acquire the lock. The amount of time to wait for the lock. A value of –1 millisecond specifies an infinite wait. The result of the attempt to acquire the lock, passed by reference. The input must be false. The output is true if the lock is acquired; otherwise, the output is false. The output is set even if an exception occurs during the attempt to acquire the lock. The input to is true. The parameter is null. The value of in milliseconds is negative and is not equal to (–1 millisecond), or is greater than . Releases the lock on an object and blocks the current thread until it reacquires the lock. true if the call returned because the caller reacquired the lock for the specified object. This method does not return if the lock is not reacquired. The object on which to wait. The parameter is null. The calling thread does not own the lock for the specified object. The thread that invokes Wait is later interrupted from the waiting state. This happens when another thread calls this thread's method. 1 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. true if the lock was reacquired before the specified time elapsed; false if the lock was reacquired after the specified time elapsed. The method does not return until the lock is reacquired. The object on which to wait. The number of milliseconds to wait before the thread enters the ready queue. The parameter is null. The calling thread does not own the lock for the specified object. The thread that invokes Wait is later interrupted from the waiting state. This happens when another thread calls this thread's method. The value of the parameter is negative, and is not equal to . 1 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. true if the lock was reacquired before the specified time elapsed; false if the lock was reacquired after the specified time elapsed. The method does not return until the lock is reacquired. The object on which to wait. A representing the amount of time to wait before the thread enters the ready queue. The parameter is null. The calling thread does not own the lock for the specified object. The thread that invokes Wait is later interrupted from the waiting state. This happens when another thread calls this thread's method. The value of the parameter in milliseconds is negative and does not represent (–1 millisecond), or is greater than . 1 A synchronization primitive that can also be used for interprocess synchronization. 1 Initializes a new instance of the class with default properties. Initializes a new instance of the class with a Boolean value that indicates whether the calling thread should have initial ownership of the mutex. true to give the calling thread initial ownership of the mutex; otherwise, false. Initializes a new instance of the class with a Boolean value that indicates whether the calling thread should have initial ownership of the mutex, and a string that is the name of the mutex. true to give the calling thread initial ownership of the named system mutex if the named system mutex is created as a result of this call; otherwise, false. The name of the . If the value is null, the is unnamed. The named mutex exists and has access control security, but the user does not have . A Win32 error occurred. The named mutex cannot be created, perhaps because a wait handle of a different type has the same name. is longer than 260 characters. Initializes a new instance of the class with a Boolean value that indicates whether the calling thread should have initial ownership of the mutex, a string that is the name of the mutex, and a Boolean value that, when the method returns, indicates whether the calling thread was granted initial ownership of the mutex. true to give the calling thread initial ownership of the named system mutex if the named system mutex is created as a result of this call; otherwise, false. The name of the . If the value is null, the is unnamed. When this method returns, contains a Boolean that is true if a local mutex was created (that is, if is null or an empty string) or if the specified named system mutex was created; false if the specified named system mutex already existed. This parameter is passed uninitialized. The named mutex exists and has access control security, but the user does not have . A Win32 error occurred. The named mutex cannot be created, perhaps because a wait handle of a different type has the same name. is longer than 260 characters. Opens the specified named mutex, if it already exists. An object that represents the named system mutex. The name of the system mutex to open. is an empty string.-or- is longer than 260 characters. is null. The named mutex does not exist. A Win32 error occurred. The named mutex exists, but the user does not have the security access required to use it. 1 Releases the once. The calling thread does not own the mutex. 1 Opens the specified named mutex, if it already exists, and returns a value that indicates whether the operation succeeded. true if the named mutex was opened successfully; otherwise, false. The name of the system mutex to open. When this method returns, contains a object that represents the named mutex if the call succeeded, or null if the call failed. This parameter is treated as uninitialized. is an empty string.-or- is longer than 260 characters. is null. A Win32 error occurred. The named mutex exists, but the user does not have the security access required to use it. Represents a lock that is used to manage access to a resource, allowing multiple threads for reading or exclusive access for writing. Initializes a new instance of the class with default property values. Initializes a new instance of the class, specifying the lock recursion policy. One of the enumeration values that specifies the lock recursion policy. Gets the total number of unique threads that have entered the lock in read mode. The number of unique threads that have entered the lock in read mode. Releases all resources used by the current instance of the class. is greater than zero. -or- is greater than zero. -or- is greater than zero. 2 Tries to enter the lock in read mode. The property is and the current thread has already entered read mode. -or-The current thread may not acquire the read lock when it already holds the write lock. -or-The recursion number would exceed the capacity of the counter. This limit is so large that applications should never encounter it. The object has been disposed. Tries to enter the lock in upgradeable mode. The property is and the current thread has already entered the lock in any mode. -or-The current thread has entered read mode, so trying to enter upgradeable mode would create the possibility of a deadlock. -or-The recursion number would exceed the capacity of the counter. The limit is so large that applications should never encounter it. The object has been disposed. Tries to enter the lock in write mode. The property is and the current thread has already entered the lock in any mode. -or-The current thread has entered read mode, so trying to enter the lock in write mode would create the possibility of a deadlock. -or-The recursion number would exceed the capacity of the counter. The limit is so large that applications should never encounter it. The object has been disposed. Reduces the recursion count for read mode, and exits read mode if the resulting count is 0 (zero). The current thread has not entered the lock in read mode. Reduces the recursion count for upgradeable mode, and exits upgradeable mode if the resulting count is 0 (zero). The current thread has not entered the lock in upgradeable mode. Reduces the recursion count for write mode, and exits write mode if the resulting count is 0 (zero). The current thread has not entered the lock in write mode. Gets a value that indicates whether the current thread has entered the lock in read mode. true if the current thread has entered read mode; otherwise, false. 2 Gets a value that indicates whether the current thread has entered the lock in upgradeable mode. true if the current thread has entered upgradeable mode; otherwise, false. 2 Gets a value that indicates whether the current thread has entered the lock in write mode. true if the current thread has entered write mode; otherwise, false. 2 Gets a value that indicates the recursion policy for the current object. One of the enumeration values that specifies the lock recursion policy. Gets the number of times the current thread has entered the lock in read mode, as an indication of recursion. 0 (zero) if the current thread has not entered read mode, 1 if the thread has entered read mode but has not entered it recursively, or n if the thread has entered the lock recursively n - 1 times. 2 Gets the number of times the current thread has entered the lock in upgradeable mode, as an indication of recursion. 0 if the current thread has not entered upgradeable mode, 1 if the thread has entered upgradeable mode but has not entered it recursively, or n if the thread has entered upgradeable mode recursively n - 1 times. 2 Gets the number of times the current thread has entered the lock in write mode, as an indication of recursion. 0 if the current thread has not entered write mode, 1 if the thread has entered write mode but has not entered it recursively, or n if the thread has entered write mode recursively n - 1 times. 2 Tries to enter the lock in read mode, with an optional integer time-out. true if the calling thread entered read mode, otherwise, false. The number of milliseconds to wait, or -1 () to wait indefinitely. The property is and the current thread has already entered the lock. -or-The recursion number would exceed the capacity of the counter. The limit is so large that applications should never encounter it. The value of is negative, but it is not equal to (-1), which is the only negative value allowed. The object has been disposed. Tries to enter the lock in read mode, with an optional time-out. true if the calling thread entered read mode, otherwise, false. The interval to wait, or -1 milliseconds to wait indefinitely. The property is and the current thread has already entered the lock. -or-The recursion number would exceed the capacity of the counter. The limit is so large that applications should never encounter it. The value of is negative, but it is not equal to -1 milliseconds, which is the only negative value allowed.-or-The value of is greater than milliseconds. The object has been disposed. Tries to enter the lock in upgradeable mode, with an optional time-out. true if the calling thread entered upgradeable mode, otherwise, false. The number of milliseconds to wait, or -1 () to wait indefinitely. The property is and the current thread has already entered the lock. -or-The current thread initially entered the lock in read mode, and therefore trying to enter upgradeable mode would create the possibility of a deadlock. -or-The recursion number would exceed the capacity of the counter. The limit is so large that applications should never encounter it. The value of is negative, but it is not equal to (-1), which is the only negative value allowed. The object has been disposed. Tries to enter the lock in upgradeable mode, with an optional time-out. true if the calling thread entered upgradeable mode, otherwise, false. The interval to wait, or -1 milliseconds to wait indefinitely. The property is and the current thread has already entered the lock. -or-The current thread initially entered the lock in read mode, and therefore trying to enter upgradeable mode would create the possibility of a deadlock. -or-The recursion number would exceed the capacity of the counter. The limit is so large that applications should never encounter it. The value of is negative, but it is not equal to -1 milliseconds, which is the only negative value allowed.-or-The value of is greater than milliseconds. The object has been disposed. Tries to enter the lock in write mode, with an optional time-out. true if the calling thread entered write mode, otherwise, false. The number of milliseconds to wait, or -1 () to wait indefinitely. The property is and the current thread has already entered the lock. -or-The current thread initially entered the lock in read mode, and therefore trying to enter write mode would create the possibility of a deadlock. -or-The recursion number would exceed the capacity of the counter. The limit is so large that applications should never encounter it. The value of is negative, but it is not equal to (-1), which is the only negative value allowed. The object has been disposed. Tries to enter the lock in write mode, with an optional time-out. true if the calling thread entered write mode, otherwise, false. The interval to wait, or -1 milliseconds to wait indefinitely. The property is and the current thread has already entered the lock. -or-The current thread initially entered the lock in read mode, and therefore trying to enter write mode would create the possibility of a deadlock. -or-The recursion number would exceed the capacity of the counter. The limit is so large that applications should never encounter it. The value of is negative, but it is not equal to -1 milliseconds, which is the only negative value allowed.-or-The value of is greater than milliseconds. The object has been disposed. Gets the total number of threads that are waiting to enter the lock in read mode. The total number of threads that are waiting to enter read mode. 2 Gets the total number of threads that are waiting to enter the lock in upgradeable mode. The total number of threads that are waiting to enter upgradeable mode. 2 Gets the total number of threads that are waiting to enter the lock in write mode. The total number of threads that are waiting to enter write mode. 2 Limits the number of threads that can access a resource or pool of resources concurrently. 1 Initializes a new instance of the class, specifying the initial number of entries and the maximum number of concurrent entries. The initial number of requests for the semaphore that can be granted concurrently. The maximum number of requests for the semaphore that can be granted concurrently. is greater than . is less than 1.-or- is less than 0. Initializes a new instance of the class, specifying the initial number of entries and the maximum number of concurrent entries, and optionally specifying the name of a system semaphore object. The initial number of requests for the semaphore that can be granted concurrently. The maximum number of requests for the semaphore that can be granted concurrently. The name of a named system semaphore object. is greater than .-or- is longer than 260 characters. is less than 1.-or- is less than 0. A Win32 error occurred. The named semaphore exists and has access control security, and the user does not have . The named semaphore cannot be created, perhaps because a wait handle of a different type has the same name. Initializes a new instance of the class, specifying the initial number of entries and the maximum number of concurrent entries, optionally specifying the name of a system semaphore object, and specifying a variable that receives a value indicating whether a new system semaphore was created. The initial number of requests for the semaphore that can be satisfied concurrently. The maximum number of requests for the semaphore that can be satisfied concurrently. The name of a named system semaphore object. When this method returns, contains true if a local semaphore was created (that is, if is null or an empty string) or if the specified named system semaphore was created; false if the specified named system semaphore already existed. This parameter is passed uninitialized. is greater than . -or- is longer than 260 characters. is less than 1.-or- is less than 0. A Win32 error occurred. The named semaphore exists and has access control security, and the user does not have . The named semaphore cannot be created, perhaps because a wait handle of a different type has the same name. Opens the specified named semaphore, if it already exists. An object that represents the named system semaphore. The name of the system semaphore to open. is an empty string.-or- is longer than 260 characters. is null. The named semaphore does not exist. A Win32 error occurred. The named semaphore exists, but the user does not have the security access required to use it. 1 Exits the semaphore and returns the previous count. The count on the semaphore before the method was called. The semaphore count is already at the maximum value. A Win32 error occurred with a named semaphore. The current semaphore represents a named system semaphore, but the user does not have .-or-The current semaphore represents a named system semaphore, but it was not opened with . 1 Exits the semaphore a specified number of times and returns the previous count. The count on the semaphore before the method was called. The number of times to exit the semaphore. is less than 1. The semaphore count is already at the maximum value. A Win32 error occurred with a named semaphore. The current semaphore represents a named system semaphore, but the user does not have rights.-or-The current semaphore represents a named system semaphore, but it was not opened with rights. 1 Opens the specified named semaphore, if it already exists, and returns a value that indicates whether the operation succeeded. true if the named semaphore was opened successfully; otherwise, false. The name of the system semaphore to open. When this method returns, contains a object that represents the named semaphore if the call succeeded, or null if the call failed. This parameter is treated as uninitialized. is an empty string.-or- is longer than 260 characters. is null. A Win32 error occurred. The named semaphore exists, but the user does not have the security access required to use it. The exception that is thrown when the method is called on a semaphore whose count is already at the maximum. 2 Initializes a new instance of the class with default values. Initializes a new instance of the class with a specified error message. The error message that explains the reason for the exception. Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The exception that is the cause of the current exception. If the parameter is not null, the current exception is raised in a catch block that handles the inner exception. Represents a lightweight alternative to that limits the number of threads that can access a resource or pool of resources concurrently. Initializes a new instance of the class, specifying the initial number of requests that can be granted concurrently. The initial number of requests for the semaphore that can be granted concurrently. is less than 0. Initializes a new instance of the class, specifying the initial and maximum number of requests that can be granted concurrently. The initial number of requests for the semaphore that can be granted concurrently. The maximum number of requests for the semaphore that can be granted concurrently. is less than 0, or is greater than , or is equal to or less than 0. Returns a that can be used to wait on the semaphore. A that can be used to wait on the semaphore. The has been disposed. Gets the number of remaining threads that can enter the object. The number of remaining threads that can enter the semaphore. Releases all resources used by the current instance of the class. Releases the unmanaged resources used by the , and optionally releases the managed resources. true to release both managed and unmanaged resources; false to release only unmanaged resources. Releases the object once. The previous count of the . The current instance has already been disposed. The has already reached its maximum size. Releases the object a specified number of times. The previous count of the . The number of times to exit the semaphore. The current instance has already been disposed. is less than 1. The has already reached its maximum size. Blocks the current thread until it can enter the . The current instance has already been disposed. Blocks the current thread until it can enter the , using a 32-bit signed integer that specifies the timeout. true if the current thread successfully entered the ; otherwise, false. The number of milliseconds to wait, or (-1) to wait indefinitely. is a negative number other than -1, which represents an infinite time-out. Blocks the current thread until it can enter the , using a 32-bit signed integer that specifies the timeout, while observing a . true if the current thread successfully entered the ; otherwise, false. The number of milliseconds to wait, or (-1) to wait indefinitely. The to observe. was canceled. is a negative number other than -1, which represents an infinite time-out. The instance has been disposed, or the that created has been disposed. Blocks the current thread until it can enter the , while observing a . The token to observe. was canceled. The current instance has already been disposed.-or-The that created has already been disposed. Blocks the current thread until it can enter the , using a to specify the timeout. true if the current thread successfully entered the ; otherwise, false. A that represents the number of milliseconds to wait, or a that represents -1 milliseconds to wait indefinitely. is a negative number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than . The semaphoreSlim instance has been disposed Blocks the current thread until it can enter the , using a that specifies the timeout, while observing a . true if the current thread successfully entered the ; otherwise, false. A that represents the number of milliseconds to wait, or a that represents -1 milliseconds to wait indefinitely. The to observe. was canceled. is a negative number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than . The semaphoreSlim instance has been disposedThe that created has already been disposed. Asynchronously waits to enter the . A task that will complete when the semaphore has been entered. Asynchronously waits to enter the , using a 32-bit signed integer to measure the time interval. A task that will complete with a result of true if the current thread successfully entered the , otherwise with a result of false. The number of milliseconds to wait, or (-1) to wait indefinitely. The current instance has already been disposed. is a negative number other than -1, which represents an infinite time-out. Asynchronously waits to enter the , using a 32-bit signed integer to measure the time interval, while observing a . A task that will complete with a result of true if the current thread successfully entered the , otherwise with a result of false. The number of milliseconds to wait, or (-1) to wait indefinitely. The to observe. is a negative number other than -1, which represents an infinite time-out. The current instance has already been disposed. was canceled. Asynchronously waits to enter the , while observing a . A task that will complete when the semaphore has been entered. The token to observe. The current instance has already been disposed. was canceled. Asynchronously waits to enter the , using a to measure the time interval. A task that will complete with a result of true if the current thread successfully entered the , otherwise with a result of false. A that represents the number of milliseconds to wait, or a that represents -1 milliseconds to wait indefinitely. The current instance has already been disposed. is a negative number other than -1, which represents an infinite time-out -or- timeout is greater than . Asynchronously waits to enter the , using a to measure the time interval, while observing a . A task that will complete with a result of true if the current thread successfully entered the , otherwise with a result of false. A that represents the number of milliseconds to wait, or a that represents -1 milliseconds to wait indefinitely. The token to observe. is a negative number other than -1, which represents an infinite time-out-or-timeout is greater than . was canceled. Represents a method to be called when a message is to be dispatched to a synchronization context. The object passed to the delegate. 2 Provides a mutual exclusion lock primitive where a thread trying to acquire the lock waits in a loop repeatedly checking until the lock becomes available. Initializes a new instance of the structure with the option to track thread IDs to improve debugging. Whether to capture and use thread IDs for debugging purposes. Acquires the lock in a reliable manner, such that even if an exception occurs within the method call, can be examined reliably to determine whether the lock was acquired. True if the lock is acquired; otherwise, false. must be initialized to false prior to calling this method. The argument must be initialized to false prior to calling Enter. Thread ownership tracking is enabled, and the current thread has already acquired this lock. Releases the lock. Thread ownership tracking is enabled, and the current thread is not the owner of this lock. Releases the lock. A Boolean value that indicates whether a memory fence should be issued in order to immediately publish the exit operation to other threads. Thread ownership tracking is enabled, and the current thread is not the owner of this lock. Gets whether the lock is currently held by any thread. true if the lock is currently held by any thread; otherwise false. Gets whether the lock is held by the current thread. true if the lock is held by the current thread; otherwise false. Thread ownership tracking is disabled. Gets whether thread ownership tracking is enabled for this instance. true if thread ownership tracking is enabled for this instance; otherwise false. Attempts to acquire the lock in a reliable manner, such that even if an exception occurs within the method call, can be examined reliably to determine whether the lock was acquired. True if the lock is acquired; otherwise, false. must be initialized to false prior to calling this method. The argument must be initialized to false prior to calling TryEnter. Thread ownership tracking is enabled, and the current thread has already acquired this lock. Attempts to acquire the lock in a reliable manner, such that even if an exception occurs within the method call, can be examined reliably to determine whether the lock was acquired. The number of milliseconds to wait, or (-1) to wait indefinitely. True if the lock is acquired; otherwise, false. must be initialized to false prior to calling this method. is a negative number other than -1, which represents an infinite time-out. The argument must be initialized to false prior to calling TryEnter. Thread ownership tracking is enabled, and the current thread has already acquired this lock. Attempts to acquire the lock in a reliable manner, such that even if an exception occurs within the method call, can be examined reliably to determine whether the lock was acquired. A that represents the number of milliseconds to wait, or a that represents -1 milliseconds to wait indefinitely. True if the lock is acquired; otherwise, false. must be initialized to false prior to calling this method. is a negative number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than milliseconds. The argument must be initialized to false prior to calling TryEnter. Thread ownership tracking is enabled, and the current thread has already acquired this lock. Provides support for spin-based waiting. Gets the number of times has been called on this instance. Returns an integer that represents the number of times has been called on this instance. Gets whether the next call to will yield the processor, triggering a forced context switch. Whether the next call to will yield the processor, triggering a forced context switch. Resets the spin counter. Performs a single spin. Spins until the specified condition is satisfied. A delegate to be executed over and over until it returns true. The argument is null. Spins until the specified condition is satisfied or until the specified timeout is expired. True if the condition is satisfied within the timeout; otherwise, false A delegate to be executed over and over until it returns true. The number of milliseconds to wait, or (-1) to wait indefinitely. The argument is null. is a negative number other than -1, which represents an infinite time-out. Spins until the specified condition is satisfied or until the specified timeout is expired. True if the condition is satisfied within the timeout; otherwise, false A delegate to be executed over and over until it returns true. A that represents the number of milliseconds to wait, or a TimeSpan that represents -1 milliseconds to wait indefinitely. The argument is null. is a negative number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than . Provides the basic functionality for propagating a synchronization context in various synchronization models. 2 Creates a new instance of the class. When overridden in a derived class, creates a copy of the synchronization context. A new object. 2 Gets the synchronization context for the current thread. A object representing the current synchronization context. 1 When overridden in a derived class, responds to the notification that an operation has completed. When overridden in a derived class, responds to the notification that an operation has started. When overridden in a derived class, dispatches an asynchronous message to a synchronization context. The delegate to call. The object passed to the delegate. 2 When overridden in a derived class, dispatches a synchronous message to a synchronization context. The delegate to call. The object passed to the delegate. The method was called in a Windows Store app. The implementation of for Windows Store apps does not support the method. 2 Sets the current synchronization context. The object to be set. 1 The exception that is thrown when a method requires the caller to own the lock on a given Monitor, and the method is invoked by a caller that does not own that lock. 2 Initializes a new instance of the class with default properties. Initializes a new instance of the class with a specified error message. The error message that explains the reason for the exception. Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The exception that is the cause of the current exception. If the parameter is not null, the current exception is raised in a catch block that handles the inner exception. Provides thread-local storage of data. Specifies the type of data stored per-thread. Initializes the instance. Initializes the instance. Whether to track all values set on the instance and expose them through the property. Initializes the instance with the specified function. The invoked to produce a lazily-initialized value when an attempt is made to retrieve without it having been previously initialized. is a null reference (Nothing in Visual Basic). Initializes the instance with the specified function. The invoked to produce a lazily-initialized value when an attempt is made to retrieve without it having been previously initialized. Whether to track all values set on the instance and expose them via the property. is a null reference (Nothing in Visual Basic). Releases all resources used by the current instance of the class. Releases the resources used by this instance. A Boolean value that indicates whether this method is being called due to a call to . Releases the resources used by this instance. Gets whether is initialized on the current thread. true if is initialized on the current thread; otherwise false. The instance has been disposed. Creates and returns a string representation of this instance for the current thread. The result of calling on the . The instance has been disposed. The for the current thread is a null reference (Nothing in Visual Basic). The initialization function attempted to reference recursively. No default constructor is provided and no value factory is supplied. Gets or sets the value of this instance for the current thread. Returns an instance of the object that this ThreadLocal is responsible for initializing. The instance has been disposed. The initialization function attempted to reference recursively. No default constructor is provided and no value factory is supplied. Gets a list for all of the values currently stored by all of the threads that have accessed this instance. A list for all of the values currently stored by all of the threads that have accessed this instance. The instance has been disposed. Contains methods for performing volatile memory operations. Reads the value of the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears after this method in the code, the processor cannot move it before this method. The value that was read. This value is the latest written by any processor in the computer, regardless of the number of processors or the state of processor cache. The field to read. Reads the value of the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears after this method in the code, the processor cannot move it before this method. The value that was read. This value is the latest written by any processor in the computer, regardless of the number of processors or the state of processor cache. The field to read. Reads the value of the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears after this method in the code, the processor cannot move it before this method. The value that was read. This value is the latest written by any processor in the computer, regardless of the number of processors or the state of processor cache. The field to read. Reads the value of the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears after this method in the code, the processor cannot move it before this method. The value that was read. This value is the latest written by any processor in the computer, regardless of the number of processors or the state of processor cache. The field to read. Reads the value of the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears after this method in the code, the processor cannot move it before this method. The value that was read. This value is the latest written by any processor in the computer, regardless of the number of processors or the state of processor cache. The field to read. Reads the value of the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears after this method in the code, the processor cannot move it before this method. The value that was read. This value is the latest written by any processor in the computer, regardless of the number of processors or the state of processor cache. The field to read. Reads the value of the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears after this method in the code, the processor cannot move it before this method. The value that was read. This value is the latest written by any processor in the computer, regardless of the number of processors or the state of processor cache. The field to read. Reads the value of the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears after this method in the code, the processor cannot move it before this method. The value that was read. This value is the latest written by any processor in the computer, regardless of the number of processors or the state of processor cache. The field to read. Reads the value of the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears after this method in the code, the processor cannot move it before this method. The value that was read. This value is the latest written by any processor in the computer, regardless of the number of processors or the state of processor cache. The field to read. Reads the value of the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears after this method in the code, the processor cannot move it before this method. The value that was read. This value is the latest written by any processor in the computer, regardless of the number of processors or the state of processor cache. The field to read. Reads the value of the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears after this method in the code, the processor cannot move it before this method. The value that was read. This value is the latest written by any processor in the computer, regardless of the number of processors or the state of processor cache. The field to read. Reads the value of the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears after this method in the code, the processor cannot move it before this method. The value that was read. This value is the latest written by any processor in the computer, regardless of the number of processors or the state of processor cache. The field to read. Reads the value of the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears after this method in the code, the processor cannot move it before this method. The value that was read. This value is the latest written by any processor in the computer, regardless of the number of processors or the state of processor cache. The field to read. Reads the object reference from the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears after this method in the code, the processor cannot move it before this method. The reference to that was read. This reference is the latest written by any processor in the computer, regardless of the number of processors or the state of processor cache. The field to read. The type of field to read. This must be a reference type, not a value type. Writes the specified value to the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears before this method in the code, the processor cannot move it after this method. The field where the value is written. The value to write. The value is written immediately so that it is visible to all processors in the computer. Writes the specified value to the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears before this method in the code, the processor cannot move it after this method. The field where the value is written. The value to write. The value is written immediately so that it is visible to all processors in the computer. Writes the specified value to the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears before this method in the code, the processor cannot move it after this method. The field where the value is written. The value to write. The value is written immediately so that it is visible to all processors in the computer. Writes the specified value to the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears before this method in the code, the processor cannot move it after this method. The field where the value is written. The value to write. The value is written immediately so that it is visible to all processors in the computer. Writes the specified value to the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears before this method in the code, the processor cannot move it after this method. The field where the value is written. The value to write. The value is written immediately so that it is visible to all processors in the computer. Writes the specified value to the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a memory operation appears before this method in the code, the processor cannot move it after this method. The field where the value is written. The value to write. The value is written immediately so that it is visible to all processors in the computer. Writes the specified value to the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears before this method in the code, the processor cannot move it after this method. The field where the value is written. The value to write. The value is written immediately so that it is visible to all processors in the computer. Writes the specified value to the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears before this method in the code, the processor cannot move it after this method. The field where the value is written. The value to write. The value is written immediately so that it is visible to all processors in the computer. Writes the specified value to the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears before this method in the code, the processor cannot move it after this method. The field where the value is written. The value to write. The value is written immediately so that it is visible to all processors in the computer. Writes the specified value to the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears before this method in the code, the processor cannot move it after this method. The field where the value is written. The value to write. The value is written immediately so that it is visible to all processors in the computer. Writes the specified value to the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears before this method in the code, the processor cannot move it after this method. The field where the value is written. The value to write. The value is written immediately so that it is visible to all processors in the computer. Writes the specified value to the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears before this method in the code, the processor cannot move it after this method. The field where the value is written. The value to write. The value is written immediately so that it is visible to all processors in the computer. Writes the specified value to the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears before this method in the code, the processor cannot move it after this method. The field where the value is written. The value to write. The value is written immediately so that it is visible to all processors in the computer. Writes the specified object reference to the specified field. On systems that require it, inserts a memory barrier that prevents the processor from reordering memory operations as follows: If a read or write appears before this method in the code, the processor cannot move it after this method. The field where the object reference is written. The object reference to write. The reference is written immediately so that it is visible to all processors in the computer. The type of field to write. This must be a reference type, not a value type. The exception that is thrown when an attempt is made to open a system mutex or semaphore that does not exist. 2 Initializes a new instance of the class with default values. Initializes a new instance of the class with a specified error message. The error message that explains the reason for the exception. Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception. The error message that explains the reason for the exception. The exception that is the cause of the current exception. If the parameter is not null, the current exception is raised in a catch block that handles the inner exception.