[ImageUtil] Add sync thumbnail extract API (#928)
[platform/core/csapi/tizenfx.git] / pkg / Tizen.NET.API6 / build / tizen60 / ref / System.Threading.xml
1 <?xml version="1.0" encoding="utf-8"?><doc>
2   <assembly>
3     <name>System.Threading</name>
4   </assembly>
5   <members>
6     <member name="T:System.Threading.ThreadLocal`1">
7       <summary>Provides thread-local storage of data.</summary>
8       <typeparam name="T">Specifies the type of data stored per-thread.</typeparam>
9     </member>
10     <member name="M:System.Threading.ThreadLocal`1.#ctor">
11       <summary>Initializes the <see cref="T:System.Threading.ThreadLocal`1"></see> instance.</summary>
12     </member>
13     <member name="M:System.Threading.ThreadLocal`1.#ctor(System.Boolean)">
14       <summary>Initializes the <see cref="T:System.Threading.ThreadLocal`1"></see> instance and specifies whether all values are accessible from any thread.</summary>
15       <param name="trackAllValues"><see langword="true"></see> to track all values set on the instance and expose them through the <see cref="P:System.Threading.ThreadLocal`1.Values"></see> property; <see langword="false"></see> otherwise.</param>
16     </member>
17     <member name="M:System.Threading.ThreadLocal`1.#ctor(System.Func{`0})">
18       <summary>Initializes the <see cref="T:System.Threading.ThreadLocal`1"></see> instance with the specified <paramref name="valueFactory">valueFactory</paramref> function.</summary>
19       <param name="valueFactory">The  <see cref="T:System.Func`1"></see> invoked to produce a lazily-initialized value when an attempt is made to retrieve <see cref="P:System.Threading.ThreadLocal`1.Value"></see> without it having been previously initialized.</param>
20       <exception cref="T:System.ArgumentNullException"><paramref name="valueFactory">valueFactory</paramref> is a null reference (Nothing in Visual Basic).</exception>
21     </member>
22     <member name="M:System.Threading.ThreadLocal`1.#ctor(System.Func{`0},System.Boolean)">
23       <summary>Initializes the <see cref="T:System.Threading.ThreadLocal`1"></see> instance with the specified <paramref name="valueFactory">valueFactory</paramref> function and a flag that indicates whether all values are accessible from any thread.</summary>
24       <param name="valueFactory">The <see cref="T:System.Func`1"></see> invoked to produce a lazily-initialized value when an attempt is made to retrieve <see cref="P:System.Threading.ThreadLocal`1.Value"></see> without it having been previously initialized.</param>
25       <param name="trackAllValues"><see langword="true"></see> to track all values set on the instance and expose them through the <see cref="P:System.Threading.ThreadLocal`1.Values"></see> property; <see langword="false"></see> otherwise.</param>
26       <exception cref="T:System.ArgumentNullException"><paramref name="valueFactory">valueFactory</paramref> is a <see langword="null"></see> reference (<see langword="Nothing"></see> in Visual Basic).</exception>
27     </member>
28     <member name="M:System.Threading.ThreadLocal`1.Dispose">
29       <summary>Releases all resources used by the current instance of the <see cref="T:System.Threading.ThreadLocal`1"></see> class.</summary>
30     </member>
31     <member name="M:System.Threading.ThreadLocal`1.Dispose(System.Boolean)">
32       <summary>Releases the resources used by this <see cref="T:System.Threading.ThreadLocal`1"></see> instance.</summary>
33       <param name="disposing">A Boolean value that indicates whether this method is being called due to a call to <see cref="M:System.Threading.ThreadLocal`1.Dispose"></see>.</param>
34     </member>
35     <member name="M:System.Threading.ThreadLocal`1.Finalize">
36       <summary>Releases the resources used by this <see cref="T:System.Threading.ThreadLocal`1"></see> instance.</summary>
37     </member>
38     <member name="P:System.Threading.ThreadLocal`1.IsValueCreated">
39       <summary>Gets whether <see cref="P:System.Threading.ThreadLocal`1.Value"></see> is initialized on the current thread.</summary>
40       <returns>true if <see cref="P:System.Threading.ThreadLocal`1.Value"></see> is initialized on the current thread; otherwise false.</returns>
41       <exception cref="T:System.ObjectDisposedException">The <see cref="System.Threading.ThreadLocal`1"></see> instance has been disposed.</exception>
42     </member>
43     <member name="M:System.Threading.ThreadLocal`1.ToString">
44       <summary>Creates and returns a string representation of this instance for the current thread.</summary>
45       <returns>The result of calling <see cref="M:System.Object.ToString"></see> on the <see cref="P:System.Threading.ThreadLocal`1.Value"></see>.</returns>
46       <exception cref="T:System.ObjectDisposedException">The <see cref="System.Threading.ThreadLocal`1"></see> instance has been disposed.</exception>
47       <exception cref="T:System.NullReferenceException">The <see cref="System.Threading.ThreadLocal`1.Value"></see> for the current thread is a null reference (Nothing in Visual Basic).</exception>
48       <exception cref="T:System.InvalidOperationException">The initialization function attempted to reference <see cref="System.Threading.ThreadLocal`1.Value"></see> recursively.</exception>
49       <exception cref="T:System.MissingMemberException">No default constructor is provided and no value factory is supplied.</exception>
50     </member>
51     <member name="P:System.Threading.ThreadLocal`1.Value">
52       <summary>Gets or sets the value of this instance for the current thread.</summary>
53       <returns>Returns an instance of the object that this ThreadLocal is responsible for initializing.</returns>
54       <exception cref="T:System.ObjectDisposedException">The <see cref="System.Threading.ThreadLocal`1"></see> instance has been disposed.</exception>
55       <exception cref="T:System.InvalidOperationException">The initialization function attempted to reference <see cref="System.Threading.ThreadLocal`1.Value"></see> recursively.</exception>
56       <exception cref="T:System.MissingMemberException">No default constructor is provided and no value factory is supplied.</exception>
57     </member>
58     <member name="P:System.Threading.ThreadLocal`1.Values">
59       <summary>Gets a list for all of the values currently stored by all of the threads that have accessed this instance.</summary>
60       <returns>A list for all of the values currently stored by all of the threads that have accessed this instance.</returns>
61       <exception cref="T:System.InvalidOperationException">Values stored by all threads are not available because this instance was initialized with the <paramref name="trackAllValues">trackAllValues</paramref> argument set to <see langword="false"></see> in the call to a class constructor.</exception>
62       <exception cref="T:System.ObjectDisposedException">The <see cref="System.Threading.ThreadLocal`1"></see> instance has been disposed.</exception>
63     </member>
64     <member name="T:System.Threading.SynchronizationLockException">
65       <summary>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.</summary>
66     </member>
67     <member name="M:System.Threading.SynchronizationLockException.#ctor">
68       <summary>Initializes a new instance of the <see cref="T:System.Threading.SynchronizationLockException"></see> class with default properties.</summary>
69     </member>
70     <member name="M:System.Threading.SynchronizationLockException.#ctor(System.String)">
71       <summary>Initializes a new instance of the <see cref="T:System.Threading.SynchronizationLockException"></see> class with a specified error message.</summary>
72       <param name="message">The error message that explains the reason for the exception.</param>
73     </member>
74     <member name="M:System.Threading.SynchronizationLockException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
75       <summary>Initializes a new instance of the <see cref="T:System.Threading.SynchronizationLockException"></see> class with serialized data.</summary>
76       <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"></see> that holds the serialized object data about the exception being thrown.</param>
77       <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"></see> that contains contextual information about the source or destination.</param>
78     </member>
79     <member name="M:System.Threading.SynchronizationLockException.#ctor(System.String,System.Exception)">
80       <summary>Initializes a new instance of the <see cref="T:System.Threading.SynchronizationLockException"></see> class with a specified error message and a reference to the inner exception that is the cause of this exception.</summary>
81       <param name="message">The error message that explains the reason for the exception.</param>
82       <param name="innerException">The exception that is the cause of the current exception. If the innerException parameter is not <see langword="null"></see>, the current exception is raised in a <see langword="catch"></see> block that handles the inner exception.</param>
83     </member>
84     <member name="T:System.Threading.SynchronizationContext">
85       <summary>Provides the basic functionality for propagating a synchronization context in various synchronization models.</summary>
86     </member>
87     <member name="M:System.Threading.SynchronizationContext.#ctor">
88       <summary>Creates a new instance of the <see cref="T:System.Threading.SynchronizationContext"></see> class.</summary>
89     </member>
90     <member name="M:System.Threading.SynchronizationContext.CreateCopy">
91       <summary>When overridden in a derived class, creates a copy of the synchronization context.</summary>
92       <returns>A new <see cref="T:System.Threading.SynchronizationContext"></see> object.</returns>
93     </member>
94     <member name="P:System.Threading.SynchronizationContext.Current">
95       <summary>Gets the synchronization context for the current thread.</summary>
96       <returns>A <see cref="T:System.Threading.SynchronizationContext"></see> object representing the current synchronization context.</returns>
97     </member>
98     <member name="M:System.Threading.SynchronizationContext.IsWaitNotificationRequired">
99       <summary>Determines if wait notification is required.</summary>
100       <returns><see langword="true"></see> if wait notification is required; otherwise, <see langword="false"></see>.</returns>
101     </member>
102     <member name="M:System.Threading.SynchronizationContext.OperationCompleted">
103       <summary>When overridden in a derived class, responds to the notification that an operation has completed.</summary>
104     </member>
105     <member name="M:System.Threading.SynchronizationContext.OperationStarted">
106       <summary>When overridden in a derived class, responds to the notification that an operation has started.</summary>
107     </member>
108     <member name="M:System.Threading.SynchronizationContext.Post(System.Threading.SendOrPostCallback,System.Object)">
109       <summary>When overridden in a derived class, dispatches an asynchronous message to a synchronization context.</summary>
110       <param name="d">The <see cref="T:System.Threading.SendOrPostCallback"></see> delegate to call.</param>
111       <param name="state">The object passed to the delegate.</param>
112     </member>
113     <member name="M:System.Threading.SynchronizationContext.Send(System.Threading.SendOrPostCallback,System.Object)">
114       <summary>When overridden in a derived class, dispatches a synchronous message to a synchronization context.</summary>
115       <param name="d">The <see cref="T:System.Threading.SendOrPostCallback"></see> delegate to call.</param>
116       <param name="state">The object passed to the delegate.</param>
117       <exception cref="T:System.NotSupportedException">The method was called in a Windows Store app. The implementation of <see cref="System.Threading.SynchronizationContext"></see> for Windows Store apps does not support the <see cref="System.Threading.SynchronizationContext.Send(System.Threading.SendOrPostCallback,System.Object)"></see> method.</exception>
118     </member>
119     <member name="M:System.Threading.SynchronizationContext.SetSynchronizationContext(System.Threading.SynchronizationContext)">
120       <summary>Sets the current synchronization context.</summary>
121       <param name="syncContext">The <see cref="T:System.Threading.SynchronizationContext"></see> object to be set.</param>
122     </member>
123     <member name="M:System.Threading.SynchronizationContext.SetWaitNotificationRequired">
124       <summary>Sets notification that wait notification is required and prepares the callback method so it can be called more reliably when a wait occurs.</summary>
125     </member>
126     <member name="M:System.Threading.SynchronizationContext.Wait(System.IntPtr[],System.Boolean,System.Int32)">
127       <summary>Waits for any or all the elements in the specified array to receive a signal.</summary>
128       <param name="waitHandles">An array of type <see cref="T:System.IntPtr"></see> that contains the native operating system handles.</param>
129       <param name="waitAll"><see langword="true"></see> to wait for all handles; <see langword="false"></see> to wait for any handle.</param>
130       <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"></see> (-1) to wait indefinitely.</param>
131       <returns>The array index of the object that satisfied the wait.</returns>
132       <exception cref="T:System.ArgumentNullException"><paramref name="waitHandles">waitHandles</paramref> is null.</exception>
133     </member>
134     <member name="M:System.Threading.SynchronizationContext.WaitHelper(System.IntPtr[],System.Boolean,System.Int32)">
135       <summary>Helper function that waits for any or all the elements in the specified array to receive a signal.</summary>
136       <param name="waitHandles">An array of type <see cref="T:System.IntPtr"></see> that contains the native operating system handles.</param>
137       <param name="waitAll"><see langword="true"></see> to wait for all handles;  <see langword="false"></see> to wait for any handle.</param>
138       <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"></see> (-1) to wait indefinitely.</param>
139       <returns>The array index of the object that satisfied the wait.</returns>
140     </member>
141     <member name="T:System.Threading.SpinWait">
142       <summary>Provides support for spin-based waiting.</summary>
143     </member>
144     <member name="P:System.Threading.SpinWait.Count">
145       <summary>Gets the number of times <see cref="M:System.Threading.SpinWait.SpinOnce"></see> has been called on this instance.</summary>
146       <returns>Returns an integer that represents the number of times <see cref="M:System.Threading.SpinWait.SpinOnce"></see> has been called on this instance.</returns>
147     </member>
148     <member name="P:System.Threading.SpinWait.NextSpinWillYield">
149       <summary>Gets whether the next call to <see cref="M:System.Threading.SpinWait.SpinOnce"></see> will yield the processor, triggering a forced context switch.</summary>
150       <returns>Whether the next call to <see cref="M:System.Threading.SpinWait.SpinOnce"></see> will yield the processor, triggering a forced context switch.</returns>
151     </member>
152     <member name="M:System.Threading.SpinWait.Reset">
153       <summary>Resets the spin counter.</summary>
154     </member>
155     <member name="M:System.Threading.SpinWait.SpinOnce">
156       <summary>Performs a single spin.</summary>
157     </member>
158     <member name="M:System.Threading.SpinWait.SpinUntil(System.Func{System.Boolean})">
159       <summary>Spins until the specified condition is satisfied.</summary>
160       <param name="condition">A delegate to be executed over and over until it returns true.</param>
161       <exception cref="T:System.ArgumentNullException">The <paramref name="condition">condition</paramref> argument is null.</exception>
162     </member>
163     <member name="M:System.Threading.SpinWait.SpinUntil(System.Func{System.Boolean},System.Int32)">
164       <summary>Spins until the specified condition is satisfied or until the specified timeout is expired.</summary>
165       <param name="condition">A delegate to be executed over and over until it returns true.</param>
166       <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"></see> (-1) to wait indefinitely.</param>
167       <returns>True if the condition is satisfied within the timeout; otherwise, false</returns>
168       <exception cref="T:System.ArgumentNullException">The <paramref name="condition">condition</paramref> argument is null.</exception>
169       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="millisecondsTimeout">millisecondsTimeout</paramref> is a negative number other than -1, which represents an infinite time-out.</exception>
170     </member>
171     <member name="M:System.Threading.SpinWait.SpinUntil(System.Func{System.Boolean},System.TimeSpan)">
172       <summary>Spins until the specified condition is satisfied or until the specified timeout is expired.</summary>
173       <param name="condition">A delegate to be executed over and over until it returns true.</param>
174       <param name="timeout">A <see cref="T:System.TimeSpan"></see> that represents the number of milliseconds to wait, or a TimeSpan that represents -1 milliseconds to wait indefinitely.</param>
175       <returns>True if the condition is satisfied within the timeout; otherwise, false</returns>
176       <exception cref="T:System.ArgumentNullException">The <paramref name="condition">condition</paramref> argument is null.</exception>
177       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="timeout">timeout</paramref> is a negative number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than <see cref="System.Int32.MaxValue"></see>.</exception>
178     </member>
179     <member name="T:System.Threading.SpinLock">
180       <summary>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.</summary>
181     </member>
182     <member name="M:System.Threading.SpinLock.#ctor(System.Boolean)">
183       <summary>Initializes a new instance of the <see cref="T:System.Threading.SpinLock"></see> structure with the option to track thread IDs to improve debugging.</summary>
184       <param name="enableThreadOwnerTracking">Whether to capture and use thread IDs for debugging purposes.</param>
185     </member>
186     <member name="M:System.Threading.SpinLock.Enter(System.Boolean@)">
187       <summary>Acquires the lock in a reliable manner, such that even if an exception occurs within the method call, <paramref name="lockTaken">lockTaken</paramref> can be examined reliably to determine whether the lock was acquired.</summary>
188       <param name="lockTaken">True if the lock is acquired; otherwise, false. lockTaken must be initialized to false prior to calling this method.</param>
189       <exception cref="T:System.ArgumentException">The <paramref name="lockTaken">lockTaken</paramref> argument must be initialized to false prior to calling Enter.</exception>
190       <exception cref="T:System.Threading.LockRecursionException">Thread ownership tracking is enabled, and the current thread has already acquired this lock.</exception>
191     </member>
192     <member name="M:System.Threading.SpinLock.Exit">
193       <summary>Releases the lock.</summary>
194       <exception cref="T:System.Threading.SynchronizationLockException">Thread ownership tracking is enabled, and the current thread is not the owner of this lock.</exception>
195     </member>
196     <member name="M:System.Threading.SpinLock.Exit(System.Boolean)">
197       <summary>Releases the lock.</summary>
198       <param name="useMemoryBarrier">A Boolean value that indicates whether a memory fence should be issued in order to immediately publish the exit operation to other threads.</param>
199       <exception cref="T:System.Threading.SynchronizationLockException">Thread ownership tracking is enabled, and the current thread is not the owner of this lock.</exception>
200     </member>
201     <member name="P:System.Threading.SpinLock.IsHeld">
202       <summary>Gets whether the lock is currently held by any thread.</summary>
203       <returns>true if the lock is currently held by any thread; otherwise false.</returns>
204     </member>
205     <member name="P:System.Threading.SpinLock.IsHeldByCurrentThread">
206       <summary>Gets whether the lock is held by the current thread.</summary>
207       <returns>true if the lock is held by the current thread; otherwise false.</returns>
208       <exception cref="T:System.InvalidOperationException">Thread ownership tracking is disabled.</exception>
209     </member>
210     <member name="P:System.Threading.SpinLock.IsThreadOwnerTrackingEnabled">
211       <summary>Gets whether thread ownership tracking is enabled for this instance.</summary>
212       <returns>true if thread ownership tracking is enabled for this instance; otherwise false.</returns>
213     </member>
214     <member name="M:System.Threading.SpinLock.TryEnter(System.Boolean@)">
215       <summary>Attempts to acquire the lock in a reliable manner, such that even if an exception occurs within the method call, <paramref name="lockTaken">lockTaken</paramref> can be examined reliably to determine whether the lock was acquired.</summary>
216       <param name="lockTaken">True if the lock is acquired; otherwise, false. lockTaken must be initialized to false prior to calling this method.</param>
217       <exception cref="T:System.ArgumentException">The <paramref name="lockTaken">lockTaken</paramref> argument must be initialized to false prior to calling TryEnter.</exception>
218       <exception cref="T:System.Threading.LockRecursionException">Thread ownership tracking is enabled, and the current thread has already acquired this lock.</exception>
219     </member>
220     <member name="M:System.Threading.SpinLock.TryEnter(System.Int32,System.Boolean@)">
221       <summary>Attempts to acquire the lock in a reliable manner, such that even if an exception occurs within the method call, <paramref name="lockTaken">lockTaken</paramref> can be examined reliably to determine whether the lock was acquired.</summary>
222       <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"></see> (-1) to wait indefinitely.</param>
223       <param name="lockTaken">True if the lock is acquired; otherwise, false. lockTaken must be initialized to false prior to calling this method.</param>
224       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="millisecondsTimeout">millisecondsTimeout</paramref> is a negative number other than -1, which represents an infinite time-out.</exception>
225       <exception cref="T:System.ArgumentException">The <paramref name="lockTaken">lockTaken</paramref> argument must be initialized to false prior to calling TryEnter.</exception>
226       <exception cref="T:System.Threading.LockRecursionException">Thread ownership tracking is enabled, and the current thread has already acquired this lock.</exception>
227     </member>
228     <member name="M:System.Threading.SpinLock.TryEnter(System.TimeSpan,System.Boolean@)">
229       <summary>Attempts to acquire the lock in a reliable manner, such that even if an exception occurs within the method call, <paramref name="lockTaken">lockTaken</paramref> can be examined reliably to determine whether the lock was acquired.</summary>
230       <param name="timeout">A <see cref="T:System.TimeSpan"></see> that represents the number of milliseconds to wait, or a <see cref="T:System.TimeSpan"></see> that represents -1 milliseconds to wait indefinitely.</param>
231       <param name="lockTaken">True if the lock is acquired; otherwise, false. lockTaken must be initialized to false prior to calling this method.</param>
232       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="timeout">timeout</paramref> is a negative number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than <see cref="System.Int32.MaxValue"></see> milliseconds.</exception>
233       <exception cref="T:System.ArgumentException">The <paramref name="lockTaken">lockTaken</paramref> argument must be initialized to false prior to calling TryEnter.</exception>
234       <exception cref="T:System.Threading.LockRecursionException">Thread ownership tracking is enabled, and the current thread has already acquired this lock.</exception>
235     </member>
236     <member name="T:System.Threading.SendOrPostCallback">
237       <summary>Represents a method to be called when a message is to be dispatched to a synchronization context.</summary>
238       <param name="state">The object passed to the delegate.</param>
239     </member>
240     <member name="T:System.Threading.SemaphoreSlim">
241       <summary>Represents a lightweight alternative to <see cref="T:System.Threading.Semaphore"></see> that limits the number of threads that can access a resource or pool of resources concurrently.</summary>
242     </member>
243     <member name="M:System.Threading.SemaphoreSlim.#ctor(System.Int32)">
244       <summary>Initializes a new instance of the <see cref="T:System.Threading.SemaphoreSlim"></see> class, specifying the initial number of requests that can be granted concurrently.</summary>
245       <param name="initialCount">The initial number of requests for the semaphore that can be granted concurrently.</param>
246       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="initialCount">initialCount</paramref> is less than 0.</exception>
247     </member>
248     <member name="M:System.Threading.SemaphoreSlim.#ctor(System.Int32,System.Int32)">
249       <summary>Initializes a new instance of the <see cref="T:System.Threading.SemaphoreSlim"></see> class, specifying the initial and maximum number of requests that can be granted concurrently.</summary>
250       <param name="initialCount">The initial number of requests for the semaphore that can be granted concurrently.</param>
251       <param name="maxCount">The maximum number of requests for the semaphore that can be granted concurrently.</param>
252       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="initialCount">initialCount</paramref> is less than 0, or <paramref name="initialCount">initialCount</paramref> is greater than <paramref name="maxCount">maxCount</paramref>, or <paramref name="maxCount">maxCount</paramref> is equal to or less than 0.</exception>
253     </member>
254     <member name="P:System.Threading.SemaphoreSlim.AvailableWaitHandle">
255       <summary>Returns a <see cref="T:System.Threading.WaitHandle"></see> that can be used to wait on the semaphore.</summary>
256       <returns>A <see cref="T:System.Threading.WaitHandle"></see> that can be used to wait on the semaphore.</returns>
257       <exception cref="T:System.ObjectDisposedException">The <see cref="System.Threading.SemaphoreSlim"></see> has been disposed.</exception>
258     </member>
259     <member name="P:System.Threading.SemaphoreSlim.CurrentCount">
260       <summary>Gets the number of remaining threads that can enter the <see cref="T:System.Threading.SemaphoreSlim"></see> object.</summary>
261       <returns>The number of remaining threads that can enter the semaphore.</returns>
262     </member>
263     <member name="M:System.Threading.SemaphoreSlim.Dispose">
264       <summary>Releases all resources used by the current instance of the <see cref="T:System.Threading.SemaphoreSlim"></see> class.</summary>
265     </member>
266     <member name="M:System.Threading.SemaphoreSlim.Dispose(System.Boolean)">
267       <summary>Releases the unmanaged resources used by the <see cref="T:System.Threading.SemaphoreSlim"></see>, and optionally releases the managed resources.</summary>
268       <param name="disposing"><see langword="true"></see> to release both managed and unmanaged resources; <see langword="false"></see> to release only unmanaged resources.</param>
269     </member>
270     <member name="M:System.Threading.SemaphoreSlim.Release">
271       <summary>Releases the <see cref="T:System.Threading.SemaphoreSlim"></see> object once.</summary>
272       <returns>The previous count of the <see cref="T:System.Threading.SemaphoreSlim"></see>.</returns>
273       <exception cref="T:System.ObjectDisposedException">The current instance has already been disposed.</exception>
274       <exception cref="T:System.Threading.SemaphoreFullException">The <see cref="System.Threading.SemaphoreSlim"></see> has already reached its maximum size.</exception>
275     </member>
276     <member name="M:System.Threading.SemaphoreSlim.Release(System.Int32)">
277       <summary>Releases the <see cref="T:System.Threading.SemaphoreSlim"></see> object a specified number of times.</summary>
278       <param name="releaseCount">The number of times to exit the semaphore.</param>
279       <returns>The previous count of the <see cref="T:System.Threading.SemaphoreSlim"></see>.</returns>
280       <exception cref="T:System.ObjectDisposedException">The current instance has already been disposed.</exception>
281       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="releaseCount">releaseCount</paramref> is less than 1.</exception>
282       <exception cref="T:System.Threading.SemaphoreFullException">The <see cref="System.Threading.SemaphoreSlim"></see> has already reached its maximum size.</exception>
283     </member>
284     <member name="M:System.Threading.SemaphoreSlim.Wait(System.TimeSpan,System.Threading.CancellationToken)">
285       <summary>Blocks the current thread until it can enter the <see cref="T:System.Threading.SemaphoreSlim"></see>, using a <see cref="T:System.TimeSpan"></see> that specifies the timeout, while observing a <see cref="T:System.Threading.CancellationToken"></see>.</summary>
286       <param name="timeout">A <see cref="T:System.TimeSpan"></see> that represents the number of milliseconds to wait, a <see cref="T:System.TimeSpan"></see> that represents -1 milliseconds to wait indefinitely, or a <see cref="T:System.TimeSpan"></see> that represents 0 milliseconds to test the wait handle and return immediately.</param>
287       <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"></see> to observe.</param>
288       <returns><see langword="true"></see> if the current thread successfully entered the <see cref="T:System.Threading.SemaphoreSlim"></see>; otherwise, <see langword="false"></see>.</returns>
289       <exception cref="T:System.OperationCanceledException"><paramref name="cancellationToken">cancellationToken</paramref> was canceled.</exception>
290       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="timeout">timeout</paramref> is a negative number other than -1, which represents an infinite timeout -or- timeout is greater than <see cref="System.Int32.MaxValue"></see>.</exception>
291       <exception cref="T:System.ObjectDisposedException">The semaphoreSlim instance has been disposed <paramref name=".">.</paramref><paramref name="-or-">-or-</paramref>  
292  The <see cref="System.Threading.CancellationTokenSource"></see> that created <paramref name="cancellationToken">cancellationToken</paramref> has already been disposed.</exception>
293     </member>
294     <member name="M:System.Threading.SemaphoreSlim.Wait(System.Int32,System.Threading.CancellationToken)">
295       <summary>Blocks the current thread until it can enter the <see cref="T:System.Threading.SemaphoreSlim"></see>, using a 32-bit signed integer that specifies the timeout, while observing a <see cref="T:System.Threading.CancellationToken"></see>.</summary>
296       <param name="millisecondsTimeout">The number of milliseconds to wait, <see cref="F:System.Threading.Timeout.Infinite"></see>(-1) to wait indefinitely, or zero to test the state of the wait handle and return immediately.</param>
297       <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"></see> to observe.</param>
298       <returns><see langword="true"></see> if the current thread successfully entered the <see cref="T:System.Threading.SemaphoreSlim"></see>; otherwise, <see langword="false"></see>.</returns>
299       <exception cref="T:System.OperationCanceledException"><paramref name="cancellationToken">cancellationToken</paramref> was canceled.</exception>
300       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="millisecondsTimeout">millisecondsTimeout</paramref> is a negative number other than -1, which represents an infinite timeout -or- timeout is greater than <see cref="System.Int32.MaxValue"></see>.</exception>
301       <exception cref="T:System.ObjectDisposedException">The <see cref="System.Threading.SemaphoreSlim"></see> instance has been disposed, or the <see cref="System.Threading.CancellationTokenSource"></see> that created <paramref name="cancellationToken">cancellationToken</paramref> has been disposed.</exception>
302     </member>
303     <member name="M:System.Threading.SemaphoreSlim.Wait(System.TimeSpan)">
304       <summary>Blocks the current thread until it can enter the <see cref="T:System.Threading.SemaphoreSlim"></see>, using a <see cref="T:System.TimeSpan"></see> to specify the timeout.</summary>
305       <param name="timeout">A <see cref="T:System.TimeSpan"></see> that represents the number of milliseconds to wait, a <see cref="T:System.TimeSpan"></see> that represents -1 milliseconds to wait indefinitely, or a <see cref="T:System.TimeSpan"></see> that represents 0 milliseconds to test the wait handle and return immediately.</param>
306       <returns><see langword="true"></see> if the current thread successfully entered the <see cref="T:System.Threading.SemaphoreSlim"></see>; otherwise, <see langword="false"></see>.</returns>
307       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="timeout">timeout</paramref> is a negative number other than -1, which represents an infinite timeout -or- timeout is greater than <see cref="System.Int32.MaxValue"></see>.</exception>
308       <exception cref="T:System.ObjectDisposedException">The semaphoreSlim instance has been disposed <paramref name=".">.</paramref></exception>
309     </member>
310     <member name="M:System.Threading.SemaphoreSlim.Wait(System.Int32)">
311       <summary>Blocks the current thread until it can enter the <see cref="T:System.Threading.SemaphoreSlim"></see>, using a 32-bit signed integer that specifies the timeout.</summary>
312       <param name="millisecondsTimeout">The number of milliseconds to wait, <see cref="F:System.Threading.Timeout.Infinite"></see>(-1) to wait indefinitely, or zero to test the state of the wait handle and return immediately.</param>
313       <returns><see langword="true"></see> if the current thread successfully entered the <see cref="T:System.Threading.SemaphoreSlim"></see>; otherwise, <see langword="false"></see>.</returns>
314       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="millisecondsTimeout">millisecondsTimeout</paramref> is a negative number other than -1, which represents an infinite timeout -or- timeout is greater than <see cref="System.Int32.MaxValue"></see>.</exception>
315     </member>
316     <member name="M:System.Threading.SemaphoreSlim.Wait">
317       <summary>Blocks the current thread until it can enter the <see cref="T:System.Threading.SemaphoreSlim"></see>.</summary>
318       <exception cref="T:System.ObjectDisposedException">The current instance has already been disposed.</exception>
319     </member>
320     <member name="M:System.Threading.SemaphoreSlim.Wait(System.Threading.CancellationToken)">
321       <summary>Blocks the current thread until it can enter the <see cref="T:System.Threading.SemaphoreSlim"></see>, while observing a <see cref="T:System.Threading.CancellationToken"></see>.</summary>
322       <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"></see> token to observe.</param>
323       <exception cref="T:System.OperationCanceledException"><paramref name="cancellationToken">cancellationToken</paramref> was canceled.</exception>
324       <exception cref="T:System.ObjectDisposedException">The current instance has already been disposed.  
325  -or-  
326  The <see cref="System.Threading.CancellationTokenSource"></see> that created <paramref name="cancellationToken">cancellationToken</paramref> has already been disposed.</exception>
327     </member>
328     <member name="M:System.Threading.SemaphoreSlim.WaitAsync(System.Int32,System.Threading.CancellationToken)">
329       <summary>Asynchronously waits to enter the <see cref="T:System.Threading.SemaphoreSlim"></see>, using a 32-bit signed integer to measure the time interval, while observing a <see cref="T:System.Threading.CancellationToken"></see>.</summary>
330       <param name="millisecondsTimeout">The number of milliseconds to wait, <see cref="F:System.Threading.Timeout.Infinite"></see> (-1) to wait indefinitely, or zero to test the state of the wait handle and return immediately.</param>
331       <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"></see> to observe.</param>
332       <returns>A task that will complete with a result of <see langword="true"></see> if the current thread successfully entered the <see cref="T:System.Threading.SemaphoreSlim"></see>, otherwise with a result of <see langword="false"></see>.</returns>
333       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="millisecondsTimeout">millisecondsTimeout</paramref> is a number other than -1, which represents an infinite timeout -or- timeout is greater than <see cref="System.Int32.MaxValue"></see>.</exception>
334       <exception cref="T:System.ObjectDisposedException">The current instance has already been disposed.</exception>
335       <exception cref="T:System.OperationCanceledException"><paramref name="cancellationToken">cancellationToken</paramref> was canceled.</exception>
336     </member>
337     <member name="M:System.Threading.SemaphoreSlim.WaitAsync">
338       <summary>Asynchronously waits to enter the <see cref="T:System.Threading.SemaphoreSlim"></see>.</summary>
339       <returns>A task that will complete when the semaphore has been entered.</returns>
340     </member>
341     <member name="M:System.Threading.SemaphoreSlim.WaitAsync(System.Int32)">
342       <summary>Asynchronously waits to enter the <see cref="T:System.Threading.SemaphoreSlim"></see>, using a 32-bit signed integer to measure the time interval.</summary>
343       <param name="millisecondsTimeout">The number of milliseconds to wait, <see cref="F:System.Threading.Timeout.Infinite"></see> (-1) to wait indefinitely, or zero to test the state of the wait handle and return immediately.</param>
344       <returns>A task that will complete with a result of <see langword="true"></see> if the current thread successfully entered the <see cref="T:System.Threading.SemaphoreSlim"></see>, otherwise with a result of <see langword="false"></see>.</returns>
345       <exception cref="T:System.ObjectDisposedException">The current instance has already been disposed.</exception>
346       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="millisecondsTimeout">millisecondsTimeout</paramref> is a negative number other than -1, which represents an infinite timeout -or- timeout is greater than <see cref="System.Int32.MaxValue"></see>.</exception>
347     </member>
348     <member name="M:System.Threading.SemaphoreSlim.WaitAsync(System.Threading.CancellationToken)">
349       <summary>Asynchronously waits to enter the <see cref="T:System.Threading.SemaphoreSlim"></see>, while observing a <see cref="T:System.Threading.CancellationToken"></see>.</summary>
350       <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"></see> token to observe.</param>
351       <returns>A task that will complete when the semaphore has been entered.</returns>
352       <exception cref="T:System.ObjectDisposedException">The current instance has already been disposed.</exception>
353       <exception cref="T:System.OperationCanceledException"><paramref name="cancellationToken">cancellationToken</paramref> was canceled.</exception>
354     </member>
355     <member name="M:System.Threading.SemaphoreSlim.WaitAsync(System.TimeSpan)">
356       <summary>Asynchronously waits to enter the <see cref="T:System.Threading.SemaphoreSlim"></see>, using a <see cref="T:System.TimeSpan"></see> to measure the time interval.</summary>
357       <param name="timeout">A <see cref="T:System.TimeSpan"></see> that represents the number of milliseconds to wait, a <see cref="T:System.TimeSpan"></see> that represents -1 milliseconds to wait indefinitely, or a <see cref="T:System.TimeSpan"></see> that represents 0 milliseconds to test the wait handle and return immediately.</param>
358       <returns>A task that will complete with a result of <see langword="true"></see> if the current thread successfully entered the <see cref="T:System.Threading.SemaphoreSlim"></see>, otherwise with a result of <see langword="false"></see>.</returns>
359       <exception cref="T:System.ObjectDisposedException">The current instance has already been disposed.</exception>
360       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="millisecondsTimeout">millisecondsTimeout</paramref> is a negative number other than -1, which represents an infinite timeout -or- timeout is greater than <see cref="System.Int32.MaxValue"></see>.</exception>
361     </member>
362     <member name="M:System.Threading.SemaphoreSlim.WaitAsync(System.TimeSpan,System.Threading.CancellationToken)">
363       <summary>Asynchronously waits to enter the <see cref="T:System.Threading.SemaphoreSlim"></see>, using a <see cref="T:System.TimeSpan"></see> to measure the time interval, while observing a <see cref="T:System.Threading.CancellationToken"></see>.</summary>
364       <param name="timeout">A <see cref="T:System.TimeSpan"></see> that represents the number of milliseconds to wait, a <see cref="T:System.TimeSpan"></see> that represents -1 milliseconds to wait indefinitely, or a <see cref="T:System.TimeSpan"></see> that represents 0 milliseconds to test the wait handle and return immediately.</param>
365       <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"></see> token to observe.</param>
366       <returns>A task that will complete with a result of <see langword="true"></see> if the current thread successfully entered the <see cref="T:System.Threading.SemaphoreSlim"></see>, otherwise with a result of <see langword="false"></see>.</returns>
367       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="millisecondsTimeout">millisecondsTimeout</paramref> is a negative number other than -1, which represents an infinite timeout -or- timeout is greater than <see cref="System.Int32.MaxValue"></see>.</exception>
368       <exception cref="T:System.OperationCanceledException"><paramref name="cancellationToken">cancellationToken</paramref> was canceled.</exception>
369     </member>
370     <member name="T:System.Threading.SemaphoreFullException">
371       <summary>The exception that is thrown when the <see cref="Overload:System.Threading.Semaphore.Release"></see> method is called on a semaphore whose count is already at the maximum.</summary>
372     </member>
373     <member name="M:System.Threading.SemaphoreFullException.#ctor">
374       <summary>Initializes a new instance of the <see cref="T:System.Threading.SemaphoreFullException"></see> class with default values.</summary>
375     </member>
376     <member name="M:System.Threading.SemaphoreFullException.#ctor(System.String)">
377       <summary>Initializes a new instance of the <see cref="T:System.Threading.SemaphoreFullException"></see> class with a specified error message.</summary>
378       <param name="message">The error message that explains the reason for the exception.</param>
379     </member>
380     <member name="M:System.Threading.SemaphoreFullException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
381       <summary>Initializes a new instance of the <see cref="T:System.Threading.SemaphoreFullException"></see> class with serialized data.</summary>
382       <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"></see> object that holds the serialized object data about the exception being thrown.</param>
383       <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"></see> object that contains contextual information about the source or destination.</param>
384     </member>
385     <member name="M:System.Threading.SemaphoreFullException.#ctor(System.String,System.Exception)">
386       <summary>Initializes a new instance of the <see cref="T:System.Threading.SemaphoreFullException"></see> class with a specified error message and a reference to the inner exception that is the cause of this exception.</summary>
387       <param name="message">The error message that explains the reason for the exception.</param>
388       <param name="innerException">The exception that is the cause of the current exception. If the innerException parameter is not <see langword="null"></see>, the current exception is raised in a <see langword="catch"></see> block that handles the inner exception.</param>
389     </member>
390     <member name="T:System.Threading.Semaphore">
391       <summary>Limits the number of threads that can access a resource or pool of resources concurrently.</summary>
392     </member>
393     <member name="M:System.Threading.Semaphore.#ctor(System.Int32,System.Int32)">
394       <summary>Initializes a new instance of the <see cref="T:System.Threading.Semaphore"></see> class, specifying the initial number of entries and the maximum number of concurrent entries.</summary>
395       <param name="initialCount">The initial number of requests for the semaphore that can be granted concurrently.</param>
396       <param name="maximumCount">The maximum number of requests for the semaphore that can be granted concurrently.</param>
397       <exception cref="T:System.ArgumentException"><paramref name="initialCount">initialCount</paramref> is greater than <paramref name="maximumCount">maximumCount</paramref>.</exception>
398       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="maximumCount">maximumCount</paramref> is less than 1.  
399  -or-  
400  <paramref name="initialCount">initialCount</paramref> is less than 0.</exception>
401     </member>
402     <member name="M:System.Threading.Semaphore.#ctor(System.Int32,System.Int32,System.String)">
403       <summary>Initializes a new instance of the <see cref="T:System.Threading.Semaphore"></see> class, specifying the initial number of entries and the maximum number of concurrent entries, and optionally specifying the name of a system semaphore object.</summary>
404       <param name="initialCount">The initial number of requests for the semaphore that can be granted concurrently.</param>
405       <param name="maximumCount">The maximum number of requests for the semaphore that can be granted concurrently.</param>
406       <param name="name">The name of a named system semaphore object.</param>
407       <exception cref="T:System.ArgumentException"><paramref name="initialCount">initialCount</paramref> is greater than <paramref name="maximumCount">maximumCount</paramref>.  
408  -or-  
409  <paramref name="name">name</paramref> is longer than 260 characters.</exception>
410       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="maximumCount">maximumCount</paramref> is less than 1.  
411  -or-  
412  <paramref name="initialCount">initialCount</paramref> is less than 0.</exception>
413       <exception cref="T:System.IO.IOException">A Win32 error occurred.</exception>
414       <exception cref="T:System.UnauthorizedAccessException">The named semaphore exists and has access control security, and the user does not have <see cref="System.Security.AccessControl.SemaphoreRights.FullControl"></see>.</exception>
415       <exception cref="T:System.Threading.WaitHandleCannotBeOpenedException">The named semaphore cannot be created, perhaps because a wait handle of a different type has the same name.</exception>
416     </member>
417     <member name="M:System.Threading.Semaphore.#ctor(System.Int32,System.Int32,System.String,System.Boolean@)">
418       <summary>Initializes a new instance of the <see cref="T:System.Threading.Semaphore"></see> 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.</summary>
419       <param name="initialCount">The initial number of requests for the semaphore that can be satisfied concurrently.</param>
420       <param name="maximumCount">The maximum number of requests for the semaphore that can be satisfied concurrently.</param>
421       <param name="name">The name of a named system semaphore object.</param>
422       <param name="createdNew">When this method returns, contains <see langword="true"></see> if a local semaphore was created (that is, if name is <see langword="null"></see> or an empty string) or if the specified named system semaphore was created; <see langword="false"></see> if the specified named system semaphore already existed. This parameter is passed uninitialized.</param>
423       <exception cref="T:System.ArgumentException"><paramref name="initialCount">initialCount</paramref> is greater than <paramref name="maximumCount">maximumCount</paramref>.  
424  -or-  
425  <paramref name="name">name</paramref> is longer than 260 characters.</exception>
426       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="maximumCount">maximumCount</paramref> is less than 1.  
427  -or-  
428  <paramref name="initialCount">initialCount</paramref> is less than 0.</exception>
429       <exception cref="T:System.IO.IOException">A Win32 error occurred.</exception>
430       <exception cref="T:System.UnauthorizedAccessException">The named semaphore exists and has access control security, and the user does not have <see cref="System.Security.AccessControl.SemaphoreRights.FullControl"></see>.</exception>
431       <exception cref="T:System.Threading.WaitHandleCannotBeOpenedException">The named semaphore cannot be created, perhaps because a wait handle of a different type has the same name.</exception>
432     </member>
433     <member name="M:System.Threading.Semaphore.OpenExisting(System.String)">
434       <summary>Opens the specified named semaphore, if it already exists.</summary>
435       <param name="name">The name of the system semaphore to open.</param>
436       <returns>An object that represents the named system semaphore.</returns>
437       <exception cref="T:System.ArgumentException"><paramref name="name">name</paramref> is an empty string.  
438  -or-  
439  <paramref name="name">name</paramref> is longer than 260 characters.</exception>
440       <exception cref="T:System.ArgumentNullException"><paramref name="name">name</paramref> is <see langword="null"></see>.</exception>
441       <exception cref="T:System.Threading.WaitHandleCannotBeOpenedException">The named semaphore does not exist.</exception>
442       <exception cref="T:System.IO.IOException">A Win32 error occurred.</exception>
443       <exception cref="T:System.UnauthorizedAccessException">The named semaphore exists, but the user does not have the security access required to use it.</exception>
444     </member>
445     <member name="M:System.Threading.Semaphore.Release">
446       <summary>Exits the semaphore and returns the previous count.</summary>
447       <returns>The count on the semaphore before the <see cref="Overload:System.Threading.Semaphore.Release"></see> method was called.</returns>
448       <exception cref="T:System.Threading.SemaphoreFullException">The semaphore count is already at the maximum value.</exception>
449       <exception cref="T:System.IO.IOException">A Win32 error occurred with a named semaphore.</exception>
450       <exception cref="T:System.UnauthorizedAccessException">The current semaphore represents a named system semaphore, but the user does not have <see cref="System.Security.AccessControl.SemaphoreRights.Modify"></see>.  
451  -or-  
452  The current semaphore represents a named system semaphore, but it was not opened with <see cref="System.Security.AccessControl.SemaphoreRights.Modify"></see>.</exception>
453     </member>
454     <member name="M:System.Threading.Semaphore.Release(System.Int32)">
455       <summary>Exits the semaphore a specified number of times and returns the previous count.</summary>
456       <param name="releaseCount">The number of times to exit the semaphore.</param>
457       <returns>The count on the semaphore before the <see cref="Overload:System.Threading.Semaphore.Release"></see> method was called.</returns>
458       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="releaseCount">releaseCount</paramref> is less than 1.</exception>
459       <exception cref="T:System.Threading.SemaphoreFullException">The semaphore count is already at the maximum value.</exception>
460       <exception cref="T:System.IO.IOException">A Win32 error occurred with a named semaphore.</exception>
461       <exception cref="T:System.UnauthorizedAccessException">The current semaphore represents a named system semaphore, but the user does not have <see cref="System.Security.AccessControl.SemaphoreRights.Modify"></see> rights.  
462  -or-  
463  The current semaphore represents a named system semaphore, but it was not opened with <see cref="System.Security.AccessControl.SemaphoreRights.Modify"></see> rights.</exception>
464     </member>
465     <member name="M:System.Threading.Semaphore.TryOpenExisting(System.String,System.Threading.Semaphore@)">
466       <summary>Opens the specified named semaphore, if it already exists, and returns a value that indicates whether the operation succeeded.</summary>
467       <param name="name">The name of the system semaphore to open.</param>
468       <param name="result">When this method returns, contains a <see cref="T:System.Threading.Semaphore"></see> object that represents the named semaphore if the call succeeded, or <see langword="null"></see> if the call failed. This parameter is treated as uninitialized.</param>
469       <returns><see langword="true"></see> if the named semaphore was opened successfully; otherwise, <see langword="false"></see>.</returns>
470       <exception cref="T:System.ArgumentException"><paramref name="name">name</paramref> is an empty string.  
471  -or-  
472  <paramref name="name">name</paramref> is longer than 260 characters.</exception>
473       <exception cref="T:System.ArgumentNullException"><paramref name="name">name</paramref> is <see langword="null"></see>.</exception>
474       <exception cref="T:System.IO.IOException">A Win32 error occurred.</exception>
475       <exception cref="T:System.UnauthorizedAccessException">The named semaphore exists, but the user does not have the security access required to use it.</exception>
476     </member>
477     <member name="T:System.Threading.ReaderWriterLockSlim">
478       <summary>Represents a lock that is used to manage access to a resource, allowing multiple threads for reading or exclusive access for writing.</summary>
479     </member>
480     <member name="M:System.Threading.ReaderWriterLockSlim.#ctor">
481       <summary>Initializes a new instance of the <see cref="T:System.Threading.ReaderWriterLockSlim"></see> class with default property values.</summary>
482     </member>
483     <member name="M:System.Threading.ReaderWriterLockSlim.#ctor(System.Threading.LockRecursionPolicy)">
484       <summary>Initializes a new instance of the <see cref="T:System.Threading.ReaderWriterLockSlim"></see> class, specifying the lock recursion policy.</summary>
485       <param name="recursionPolicy">One of the enumeration values that specifies the lock recursion policy.</param>
486     </member>
487     <member name="P:System.Threading.ReaderWriterLockSlim.CurrentReadCount">
488       <summary>Gets the total number of unique threads that have entered the lock in read mode.</summary>
489       <returns>The number of unique threads that have entered the lock in read mode.</returns>
490     </member>
491     <member name="M:System.Threading.ReaderWriterLockSlim.Dispose">
492       <summary>Releases all resources used by the current instance of the <see cref="T:System.Threading.ReaderWriterLockSlim"></see> class.</summary>
493       <exception cref="T:System.Threading.SynchronizationLockException"><see cref="System.Threading.ReaderWriterLockSlim.WaitingReadCount"></see> is greater than zero.  
494  -or-  
495  <see cref="System.Threading.ReaderWriterLockSlim.WaitingUpgradeCount"></see> is greater than zero.  
496  -or-  
497  <see cref="System.Threading.ReaderWriterLockSlim.WaitingWriteCount"></see> is greater than zero.</exception>
498     </member>
499     <member name="M:System.Threading.ReaderWriterLockSlim.EnterReadLock">
500       <summary>Tries to enter the lock in read mode.</summary>
501       <exception cref="T:System.Threading.LockRecursionException">The current thread cannot acquire the write lock when it holds the read lock.  
502  -or-  
503  The <see cref="System.Threading.ReaderWriterLockSlim.RecursionPolicy"></see> property is <see cref="System.Threading.LockRecursionPolicy.NoRecursion"></see>, and the current thread has attempted to acquire the read lock when it already holds the read lock.  
504  -or-  
505  The <see cref="System.Threading.ReaderWriterLockSlim.RecursionPolicy"></see> property is <see cref="System.Threading.LockRecursionPolicy.NoRecursion"></see>, and the current thread has attempted to acquire the read lock when it already holds the write lock.  
506  -or-  
507  The recursion number would exceed the capacity of the counter. This limit is so large that applications should never encounter this exception.</exception>
508       <exception cref="T:System.ObjectDisposedException">The <see cref="System.Threading.ReaderWriterLockSlim"></see> object has been disposed.</exception>
509     </member>
510     <member name="M:System.Threading.ReaderWriterLockSlim.EnterUpgradeableReadLock">
511       <summary>Tries to enter the lock in upgradeable mode.</summary>
512       <exception cref="T:System.Threading.LockRecursionException">The <see cref="System.Threading.ReaderWriterLockSlim.RecursionPolicy"></see> property is <see cref="System.Threading.LockRecursionPolicy.NoRecursion"></see> and the current thread has already entered the lock in any mode.  
513  -or-  
514  The current thread has entered read mode, so trying to enter upgradeable mode would create the possibility of a deadlock.  
515  -or-  
516  The recursion number would exceed the capacity of the counter. The limit is so large that applications should never encounter it.</exception>
517       <exception cref="T:System.ObjectDisposedException">The <see cref="System.Threading.ReaderWriterLockSlim"></see> object has been disposed.</exception>
518     </member>
519     <member name="M:System.Threading.ReaderWriterLockSlim.EnterWriteLock">
520       <summary>Tries to enter the lock in write mode.</summary>
521       <exception cref="T:System.Threading.LockRecursionException">The <see cref="System.Threading.ReaderWriterLockSlim.RecursionPolicy"></see> property is <see cref="System.Threading.LockRecursionPolicy.NoRecursion"></see> and the current thread has already entered the lock in any mode.  
522  -or-  
523  The current thread has entered read mode, so trying to enter the lock in write mode would create the possibility of a deadlock.  
524  -or-  
525  The recursion number would exceed the capacity of the counter. The limit is so large that applications should never encounter it.</exception>
526       <exception cref="T:System.ObjectDisposedException">The <see cref="System.Threading.ReaderWriterLockSlim"></see> object has been disposed.</exception>
527     </member>
528     <member name="M:System.Threading.ReaderWriterLockSlim.ExitReadLock">
529       <summary>Reduces the recursion count for read mode, and exits read mode if the resulting count is 0 (zero).</summary>
530       <exception cref="T:System.Threading.SynchronizationLockException">The current thread has not entered the lock in read mode.</exception>
531     </member>
532     <member name="M:System.Threading.ReaderWriterLockSlim.ExitUpgradeableReadLock">
533       <summary>Reduces the recursion count for upgradeable mode, and exits upgradeable mode if the resulting count is 0 (zero).</summary>
534       <exception cref="T:System.Threading.SynchronizationLockException">The current thread has not entered the lock in upgradeable mode.</exception>
535     </member>
536     <member name="M:System.Threading.ReaderWriterLockSlim.ExitWriteLock">
537       <summary>Reduces the recursion count for write mode, and exits write mode if the resulting count is 0 (zero).</summary>
538       <exception cref="T:System.Threading.SynchronizationLockException">The current thread has not entered the lock in write mode.</exception>
539     </member>
540     <member name="P:System.Threading.ReaderWriterLockSlim.IsReadLockHeld">
541       <summary>Gets a value that indicates whether the current thread has entered the lock in read mode.</summary>
542       <returns><see langword="true"></see> if the current thread has entered read mode; otherwise, <see langword="false"></see>.</returns>
543     </member>
544     <member name="P:System.Threading.ReaderWriterLockSlim.IsUpgradeableReadLockHeld">
545       <summary>Gets a value that indicates whether the current thread has entered the lock in upgradeable mode.</summary>
546       <returns><see langword="true"></see> if the current thread has entered upgradeable mode; otherwise, <see langword="false"></see>.</returns>
547     </member>
548     <member name="P:System.Threading.ReaderWriterLockSlim.IsWriteLockHeld">
549       <summary>Gets a value that indicates whether the current thread has entered the lock in write mode.</summary>
550       <returns><see langword="true"></see> if the current thread has entered write mode; otherwise, <see langword="false"></see>.</returns>
551     </member>
552     <member name="P:System.Threading.ReaderWriterLockSlim.RecursionPolicy">
553       <summary>Gets a value that indicates the recursion policy for the current <see cref="T:System.Threading.ReaderWriterLockSlim"></see> object.</summary>
554       <returns>One of the enumeration values that specifies the lock recursion policy.</returns>
555     </member>
556     <member name="P:System.Threading.ReaderWriterLockSlim.RecursiveReadCount">
557       <summary>Gets the number of times the current thread has entered the lock in read mode, as an indication of recursion.</summary>
558       <returns>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.</returns>
559     </member>
560     <member name="P:System.Threading.ReaderWriterLockSlim.RecursiveUpgradeCount">
561       <summary>Gets the number of times the current thread has entered the lock in upgradeable mode, as an indication of recursion.</summary>
562       <returns>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.</returns>
563     </member>
564     <member name="P:System.Threading.ReaderWriterLockSlim.RecursiveWriteCount">
565       <summary>Gets the number of times the current thread has entered the lock in write mode, as an indication of recursion.</summary>
566       <returns>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.</returns>
567     </member>
568     <member name="M:System.Threading.ReaderWriterLockSlim.TryEnterReadLock(System.Int32)">
569       <summary>Tries to enter the lock in read mode, with an optional integer time-out.</summary>
570       <param name="millisecondsTimeout">The number of milliseconds to wait, or -1 (<see cref="F:System.Threading.Timeout.Infinite"></see>) to wait indefinitely.</param>
571       <returns><see langword="true"></see> if the calling thread entered read mode, otherwise, <see langword="false"></see>.</returns>
572       <exception cref="T:System.Threading.LockRecursionException">The <see cref="System.Threading.ReaderWriterLockSlim.RecursionPolicy"></see> property is <see cref="System.Threading.LockRecursionPolicy.NoRecursion"></see> and the current thread has already entered the lock.  
573  -or-  
574  The recursion number would exceed the capacity of the counter. The limit is so large that applications should never encounter it.</exception>
575       <exception cref="T:System.ArgumentOutOfRangeException">The value of <paramref name="millisecondsTimeout">millisecondsTimeout</paramref> is negative, but it is not equal to <see cref="System.Threading.Timeout.Infinite"></see> (-1), which is the only negative value allowed.</exception>
576       <exception cref="T:System.ObjectDisposedException">The <see cref="System.Threading.ReaderWriterLockSlim"></see> object has been disposed.</exception>
577     </member>
578     <member name="M:System.Threading.ReaderWriterLockSlim.TryEnterReadLock(System.TimeSpan)">
579       <summary>Tries to enter the lock in read mode, with an optional time-out.</summary>
580       <param name="timeout">The interval to wait, or -1 milliseconds to wait indefinitely.</param>
581       <returns><see langword="true"></see> if the calling thread entered read mode, otherwise, <see langword="false"></see>.</returns>
582       <exception cref="T:System.Threading.LockRecursionException">The <see cref="System.Threading.ReaderWriterLockSlim.RecursionPolicy"></see> property is <see cref="System.Threading.LockRecursionPolicy.NoRecursion"></see> and the current thread has already entered the lock.  
583  -or-  
584  The recursion number would exceed the capacity of the counter. The limit is so large that applications should never encounter it.</exception>
585       <exception cref="T:System.ArgumentOutOfRangeException">The value of <paramref name="timeout">timeout</paramref> is negative, but it is not equal to -1 milliseconds, which is the only negative value allowed.  
586  -or-  
587  The value of <paramref name="timeout">timeout</paramref> is greater than <see cref="System.Int32.MaxValue"></see> milliseconds.</exception>
588       <exception cref="T:System.ObjectDisposedException">The <see cref="System.Threading.ReaderWriterLockSlim"></see> object has been disposed.</exception>
589     </member>
590     <member name="M:System.Threading.ReaderWriterLockSlim.TryEnterUpgradeableReadLock(System.Int32)">
591       <summary>Tries to enter the lock in upgradeable mode, with an optional time-out.</summary>
592       <param name="millisecondsTimeout">The number of milliseconds to wait, or -1 (<see cref="F:System.Threading.Timeout.Infinite"></see>) to wait indefinitely.</param>
593       <returns><see langword="true"></see> if the calling thread entered upgradeable mode, otherwise, <see langword="false"></see>.</returns>
594       <exception cref="T:System.Threading.LockRecursionException">The <see cref="System.Threading.ReaderWriterLockSlim.RecursionPolicy"></see> property is <see cref="System.Threading.LockRecursionPolicy.NoRecursion"></see> and the current thread has already entered the lock.  
595  -or-  
596  The current thread initially entered the lock in read mode, and therefore trying to enter upgradeable mode would create the possibility of a deadlock.  
597  -or-  
598  The recursion number would exceed the capacity of the counter. The limit is so large that applications should never encounter it.</exception>
599       <exception cref="T:System.ArgumentOutOfRangeException">The value of <paramref name="millisecondsTimeout">millisecondsTimeout</paramref> is negative, but it is not equal to <see cref="System.Threading.Timeout.Infinite"></see> (-1), which is the only negative value allowed.</exception>
600       <exception cref="T:System.ObjectDisposedException">The <see cref="System.Threading.ReaderWriterLockSlim"></see> object has been disposed.</exception>
601     </member>
602     <member name="M:System.Threading.ReaderWriterLockSlim.TryEnterUpgradeableReadLock(System.TimeSpan)">
603       <summary>Tries to enter the lock in upgradeable mode, with an optional time-out.</summary>
604       <param name="timeout">The interval to wait, or -1 milliseconds to wait indefinitely.</param>
605       <returns><see langword="true"></see> if the calling thread entered upgradeable mode, otherwise, <see langword="false"></see>.</returns>
606       <exception cref="T:System.Threading.LockRecursionException">The <see cref="System.Threading.ReaderWriterLockSlim.RecursionPolicy"></see> property is <see cref="System.Threading.LockRecursionPolicy.NoRecursion"></see> and the current thread has already entered the lock.  
607  -or-  
608  The current thread initially entered the lock in read mode, and therefore trying to enter upgradeable mode would create the possibility of a deadlock.  
609  -or-  
610  The recursion number would exceed the capacity of the counter. The limit is so large that applications should never encounter it.</exception>
611       <exception cref="T:System.ArgumentOutOfRangeException">The value of <paramref name="timeout">timeout</paramref> is negative, but it is not equal to -1 milliseconds, which is the only negative value allowed.  
612  -or-  
613  The value of <paramref name="timeout">timeout</paramref> is greater than <see cref="System.Int32.MaxValue"></see> milliseconds.</exception>
614       <exception cref="T:System.ObjectDisposedException">The <see cref="System.Threading.ReaderWriterLockSlim"></see> object has been disposed.</exception>
615     </member>
616     <member name="M:System.Threading.ReaderWriterLockSlim.TryEnterWriteLock(System.Int32)">
617       <summary>Tries to enter the lock in write mode, with an optional time-out.</summary>
618       <param name="millisecondsTimeout">The number of milliseconds to wait, or -1 (<see cref="F:System.Threading.Timeout.Infinite"></see>) to wait indefinitely.</param>
619       <returns><see langword="true"></see> if the calling thread entered write mode, otherwise, <see langword="false"></see>.</returns>
620       <exception cref="T:System.Threading.LockRecursionException">The <see cref="System.Threading.ReaderWriterLockSlim.RecursionPolicy"></see> property is <see cref="System.Threading.LockRecursionPolicy.NoRecursion"></see> and the current thread has already entered the lock.  
621  -or-  
622  The current thread initially entered the lock in read mode, and therefore trying to enter write mode would create the possibility of a deadlock.  
623  -or-  
624  The recursion number would exceed the capacity of the counter. The limit is so large that applications should never encounter it.</exception>
625       <exception cref="T:System.ArgumentOutOfRangeException">The value of <paramref name="millisecondsTimeout">millisecondsTimeout</paramref> is negative, but it is not equal to <see cref="System.Threading.Timeout.Infinite"></see> (-1), which is the only negative value allowed.</exception>
626       <exception cref="T:System.ObjectDisposedException">The <see cref="System.Threading.ReaderWriterLockSlim"></see> object has been disposed.</exception>
627     </member>
628     <member name="M:System.Threading.ReaderWriterLockSlim.TryEnterWriteLock(System.TimeSpan)">
629       <summary>Tries to enter the lock in write mode, with an optional time-out.</summary>
630       <param name="timeout">The interval to wait, or -1 milliseconds to wait indefinitely.</param>
631       <returns><see langword="true"></see> if the calling thread entered write mode, otherwise, <see langword="false"></see>.</returns>
632       <exception cref="T:System.Threading.LockRecursionException">The <see cref="System.Threading.ReaderWriterLockSlim.RecursionPolicy"></see> property is <see cref="System.Threading.LockRecursionPolicy.NoRecursion"></see> and the current thread has already entered the lock.  
633  -or-  
634  The current thread initially entered the lock in read mode, and therefore trying to enter write mode would create the possibility of a deadlock.  
635  -or-  
636  The recursion number would exceed the capacity of the counter. The limit is so large that applications should never encounter it.</exception>
637       <exception cref="T:System.ArgumentOutOfRangeException">The value of <paramref name="timeout">timeout</paramref> is negative, but it is not equal to -1 milliseconds, which is the only negative value allowed.  
638  -or-  
639  The value of <paramref name="timeout">timeout</paramref> is greater than <see cref="System.Int32.MaxValue"></see> milliseconds.</exception>
640       <exception cref="T:System.ObjectDisposedException">The <see cref="System.Threading.ReaderWriterLockSlim"></see> object has been disposed.</exception>
641     </member>
642     <member name="P:System.Threading.ReaderWriterLockSlim.WaitingReadCount">
643       <summary>Gets the total number of threads that are waiting to enter the lock in read mode.</summary>
644       <returns>The total number of threads that are waiting to enter read mode.</returns>
645     </member>
646     <member name="P:System.Threading.ReaderWriterLockSlim.WaitingUpgradeCount">
647       <summary>Gets the total number of threads that are waiting to enter the lock in upgradeable mode.</summary>
648       <returns>The total number of threads that are waiting to enter upgradeable mode.</returns>
649     </member>
650     <member name="P:System.Threading.ReaderWriterLockSlim.WaitingWriteCount">
651       <summary>Gets the total number of threads that are waiting to enter the lock in write mode.</summary>
652       <returns>The total number of threads that are waiting to enter write mode.</returns>
653     </member>
654     <member name="T:System.Threading.ReaderWriterLock">
655       <summary>Defines a lock that supports single writers and multiple readers.</summary>
656     </member>
657     <member name="M:System.Threading.ReaderWriterLock.#ctor">
658       <summary>Initializes a new instance of the <see cref="T:System.Threading.ReaderWriterLock"></see> class.</summary>
659     </member>
660     <member name="M:System.Threading.ReaderWriterLock.AcquireReaderLock(System.Int32)">
661       <summary>Acquires a reader lock, using an <see cref="T:System.Int32"></see> value for the time-out.</summary>
662       <param name="millisecondsTimeout">The time-out in milliseconds.</param>
663       <exception cref="T:System.ApplicationException"><paramref name="millisecondsTimeout">millisecondsTimeout</paramref> expires before the lock request is granted.</exception>
664     </member>
665     <member name="M:System.Threading.ReaderWriterLock.AcquireReaderLock(System.TimeSpan)">
666       <summary>Acquires a reader lock, using a <see cref="T:System.TimeSpan"></see> value for the time-out.</summary>
667       <param name="timeout">A <see langword="TimeSpan"></see> specifying the time-out period.</param>
668       <exception cref="T:System.ApplicationException"><paramref name="timeout">timeout</paramref> expires before the lock request is granted.</exception>
669       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="timeout">timeout</paramref> specifies a negative value other than -1 milliseconds.</exception>
670     </member>
671     <member name="M:System.Threading.ReaderWriterLock.AcquireWriterLock(System.Int32)">
672       <summary>Acquires the writer lock, using an <see cref="T:System.Int32"></see> value for the time-out.</summary>
673       <param name="millisecondsTimeout">The time-out in milliseconds.</param>
674       <exception cref="T:System.ApplicationException"><paramref name="timeout">timeout</paramref> expires before the lock request is granted.</exception>
675     </member>
676     <member name="M:System.Threading.ReaderWriterLock.AcquireWriterLock(System.TimeSpan)">
677       <summary>Acquires the writer lock, using a <see cref="T:System.TimeSpan"></see> value for the time-out.</summary>
678       <param name="timeout">The <see langword="TimeSpan"></see> specifying the time-out period.</param>
679       <exception cref="T:System.ApplicationException"><paramref name="timeout">timeout</paramref> expires before the lock request is granted.</exception>
680       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="timeout">timeout</paramref> specifies a negative value other than -1 milliseconds.</exception>
681     </member>
682     <member name="M:System.Threading.ReaderWriterLock.AnyWritersSince(System.Int32)">
683       <summary>Indicates whether the writer lock has been granted to any thread since the sequence number was obtained.</summary>
684       <param name="seqNum">The sequence number.</param>
685       <returns><see langword="true"></see> if the writer lock has been granted to any thread since the sequence number was obtained; otherwise, <see langword="false"></see>.</returns>
686     </member>
687     <member name="M:System.Threading.ReaderWriterLock.DowngradeFromWriterLock(System.Threading.LockCookie@)">
688       <summary>Restores the lock status of the thread to what it was before <see cref="M:System.Threading.ReaderWriterLock.UpgradeToWriterLock(System.Int32)"></see> was called.</summary>
689       <param name="lockCookie">A <see cref="T:System.Threading.LockCookie"></see> returned by <see cref="M:System.Threading.ReaderWriterLock.UpgradeToWriterLock(System.Int32)"></see>.</param>
690       <exception cref="T:System.ApplicationException">The thread does not have the writer lock.</exception>
691       <exception cref="T:System.NullReferenceException">The address of <paramref name="lockCookie">lockCookie</paramref> is a null pointer.</exception>
692     </member>
693     <member name="M:System.Threading.ReaderWriterLock.Finalize">
694       <summary>Ensures that resources are freed and other cleanup operations are performed when the garbage collector reclaims the <see cref="T:System.Threading.ReaderWriterLock"></see> object.</summary>
695     </member>
696     <member name="P:System.Threading.ReaderWriterLock.IsReaderLockHeld">
697       <summary>Gets a value indicating whether the current thread holds a reader lock.</summary>
698       <returns><see langword="true"></see> if the current thread holds a reader lock; otherwise, <see langword="false"></see>.</returns>
699     </member>
700     <member name="P:System.Threading.ReaderWriterLock.IsWriterLockHeld">
701       <summary>Gets a value indicating whether the current thread holds the writer lock.</summary>
702       <returns><see langword="true"></see> if the current thread holds the writer lock; otherwise, <see langword="false"></see>.</returns>
703     </member>
704     <member name="M:System.Threading.ReaderWriterLock.ReleaseLock">
705       <summary>Releases the lock, regardless of the number of times the thread acquired the lock.</summary>
706       <returns>A <see cref="T:System.Threading.LockCookie"></see> value representing the released lock.</returns>
707     </member>
708     <member name="M:System.Threading.ReaderWriterLock.ReleaseReaderLock">
709       <summary>Decrements the lock count.</summary>
710       <exception cref="T:System.ApplicationException">The thread does not have any reader or writer locks.</exception>
711     </member>
712     <member name="M:System.Threading.ReaderWriterLock.ReleaseWriterLock">
713       <summary>Decrements the lock count on the writer lock.</summary>
714       <exception cref="T:System.ApplicationException">The thread does not have the writer lock.</exception>
715     </member>
716     <member name="M:System.Threading.ReaderWriterLock.RestoreLock(System.Threading.LockCookie@)">
717       <summary>Restores the lock status of the thread to what it was before calling <see cref="M:System.Threading.ReaderWriterLock.ReleaseLock"></see>.</summary>
718       <param name="lockCookie">A <see cref="T:System.Threading.LockCookie"></see> returned by <see cref="M:System.Threading.ReaderWriterLock.ReleaseLock"></see>.</param>
719       <exception cref="T:System.NullReferenceException">The address of <paramref name="lockCookie">lockCookie</paramref> is a null pointer.</exception>
720     </member>
721     <member name="M:System.Threading.ReaderWriterLock.UpgradeToWriterLock(System.Int32)">
722       <summary>Upgrades a reader lock to the writer lock, using an <see langword="Int32"></see> value for the time-out.</summary>
723       <param name="millisecondsTimeout">The time-out in milliseconds.</param>
724       <returns>A <see cref="T:System.Threading.LockCookie"></see> value.</returns>
725       <exception cref="T:System.ApplicationException"><paramref name="millisecondsTimeout">millisecondsTimeout</paramref> expires before the lock request is granted.</exception>
726     </member>
727     <member name="M:System.Threading.ReaderWriterLock.UpgradeToWriterLock(System.TimeSpan)">
728       <summary>Upgrades a reader lock to the writer lock, using a <see langword="TimeSpan"></see> value for the time-out.</summary>
729       <param name="timeout">The <see langword="TimeSpan"></see> specifying the time-out period.</param>
730       <returns>A <see cref="T:System.Threading.LockCookie"></see> value.</returns>
731       <exception cref="T:System.ApplicationException"><paramref name="timeout">timeout</paramref> expires before the lock request is granted.</exception>
732       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="timeout">timeout</paramref> specifies a negative value other than -1 milliseconds.</exception>
733     </member>
734     <member name="P:System.Threading.ReaderWriterLock.WriterSeqNum">
735       <summary>Gets the current sequence number.</summary>
736       <returns>The current sequence number.</returns>
737     </member>
738     <member name="T:System.Threading.Mutex">
739       <summary>A synchronization primitive that can also be used for interprocess synchronization.</summary>
740     </member>
741     <member name="M:System.Threading.Mutex.#ctor">
742       <summary>Initializes a new instance of the <see cref="T:System.Threading.Mutex"></see> class with default properties.</summary>
743     </member>
744     <member name="M:System.Threading.Mutex.#ctor(System.Boolean)">
745       <summary>Initializes a new instance of the <see cref="T:System.Threading.Mutex"></see> class with a Boolean value that indicates whether the calling thread should have initial ownership of the mutex.</summary>
746       <param name="initiallyOwned"><see langword="true"></see> to give the calling thread initial ownership of the mutex; otherwise, <see langword="false"></see>.</param>
747     </member>
748     <member name="M:System.Threading.Mutex.#ctor(System.Boolean,System.String)">
749       <summary>Initializes a new instance of the <see cref="T:System.Threading.Mutex"></see> 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.</summary>
750       <param name="initiallyOwned"><see langword="true"></see> 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, <see langword="false"></see>.</param>
751       <param name="name">The name of the <see cref="T:System.Threading.Mutex"></see>. If the value is <see langword="null"></see>, the <see cref="T:System.Threading.Mutex"></see> is unnamed.</param>
752       <exception cref="T:System.UnauthorizedAccessException">The named mutex exists and has access control security, but the user does not have <see cref="System.Security.AccessControl.MutexRights.FullControl"></see>.</exception>
753       <exception cref="T:System.IO.IOException">A Win32 error occurred.</exception>
754       <exception cref="T:System.Threading.WaitHandleCannotBeOpenedException">The named mutex cannot be created, perhaps because a wait handle of a different type has the same name.</exception>
755       <exception cref="T:System.ArgumentException"><paramref name="name">name</paramref> is longer than 260 characters.</exception>
756     </member>
757     <member name="M:System.Threading.Mutex.#ctor(System.Boolean,System.String,System.Boolean@)">
758       <summary>Initializes a new instance of the <see cref="T:System.Threading.Mutex"></see> 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.</summary>
759       <param name="initiallyOwned"><see langword="true"></see> 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, <see langword="false"></see>.</param>
760       <param name="name">The name of the <see cref="T:System.Threading.Mutex"></see>. If the value is <see langword="null"></see>, the <see cref="T:System.Threading.Mutex"></see> is unnamed.</param>
761       <param name="createdNew">When this method returns, contains a Boolean that is <see langword="true"></see> if a local mutex was created (that is, if name is <see langword="null"></see> or an empty string) or if the specified named system mutex was created; <see langword="false"></see> if the specified named system mutex already existed. This parameter is passed uninitialized.</param>
762       <exception cref="T:System.UnauthorizedAccessException">The named mutex exists and has access control security, but the user does not have <see cref="System.Security.AccessControl.MutexRights.FullControl"></see>.</exception>
763       <exception cref="T:System.IO.IOException">A Win32 error occurred.</exception>
764       <exception cref="T:System.Threading.WaitHandleCannotBeOpenedException">The named mutex cannot be created, perhaps because a wait handle of a different type has the same name.</exception>
765       <exception cref="T:System.ArgumentException"><paramref name="name">name</paramref> is longer than 260 characters.</exception>
766     </member>
767     <member name="M:System.Threading.Mutex.OpenExisting(System.String)">
768       <summary>Opens the specified named mutex, if it already exists.</summary>
769       <param name="name">The name of the system mutex to open.</param>
770       <returns>An object that represents the named system mutex.</returns>
771       <exception cref="T:System.ArgumentException"><paramref name="name">name</paramref> is an empty string.  
772  -or-  
773  <paramref name="name">name</paramref> is longer than 260 characters.</exception>
774       <exception cref="T:System.ArgumentNullException"><paramref name="name">name</paramref> is <see langword="null"></see>.</exception>
775       <exception cref="T:System.Threading.WaitHandleCannotBeOpenedException">The named mutex does not exist.</exception>
776       <exception cref="T:System.IO.IOException">A Win32 error occurred.</exception>
777       <exception cref="T:System.UnauthorizedAccessException">The named mutex exists, but the user does not have the security access required to use it.</exception>
778     </member>
779     <member name="M:System.Threading.Mutex.ReleaseMutex">
780       <summary>Releases the <see cref="T:System.Threading.Mutex"></see> once.</summary>
781       <exception cref="T:System.ApplicationException">The calling thread does not own the mutex.</exception>
782       <exception cref="T:System.ObjectDisposedException">The current instance has already been disposed.</exception>
783     </member>
784     <member name="M:System.Threading.Mutex.TryOpenExisting(System.String,System.Threading.Mutex@)">
785       <summary>Opens the specified named mutex, if it already exists, and returns a value that indicates whether the operation succeeded.</summary>
786       <param name="name">The name of the system mutex to open.</param>
787       <param name="result">When this method returns, contains a <see cref="T:System.Threading.Mutex"></see> object that represents the named mutex if the call succeeded, or <see langword="null"></see> if the call failed. This parameter is treated as uninitialized.</param>
788       <returns><see langword="true"></see> if the named mutex was opened successfully; otherwise, <see langword="false"></see>.</returns>
789       <exception cref="T:System.ArgumentException"><paramref name="name">name</paramref> is an empty string.  
790  -or-  
791  <paramref name="name">name</paramref> is longer than 260 characters.</exception>
792       <exception cref="T:System.ArgumentNullException"><paramref name="name">name</paramref> is <see langword="null"></see>.</exception>
793       <exception cref="T:System.IO.IOException">A Win32 error occurred.</exception>
794       <exception cref="T:System.UnauthorizedAccessException">The named mutex exists, but the user does not have the security access required to use it.</exception>
795     </member>
796     <member name="T:System.Threading.Monitor">
797       <summary>Provides a mechanism that synchronizes access to objects.</summary>
798     </member>
799     <member name="M:System.Threading.Monitor.Enter(System.Object)">
800       <summary>Acquires an exclusive lock on the specified object.</summary>
801       <param name="obj">The object on which to acquire the monitor lock.</param>
802       <exception cref="T:System.ArgumentNullException">The <paramref name="obj">obj</paramref> parameter is <see langword="null"></see>.</exception>
803     </member>
804     <member name="M:System.Threading.Monitor.Enter(System.Object,System.Boolean@)">
805       <summary>Acquires an exclusive lock on the specified object, and atomically sets a value that indicates whether the lock was taken.</summary>
806       <param name="obj">The object on which to wait.</param>
807       <param name="lockTaken">The result of the attempt to acquire the lock, passed by reference. The input must be <see langword="false"></see>. The output is <see langword="true"></see> if the lock is acquired; otherwise, the output is <see langword="false"></see>. The output is set even if an exception occurs during the attempt to acquire the lock.  
808  Note   If no exception occurs, the output of this method is always <see langword="true"></see>.</param>
809       <exception cref="T:System.ArgumentException">The input to <paramref name="lockTaken">lockTaken</paramref> is <see langword="true"></see>.</exception>
810       <exception cref="T:System.ArgumentNullException">The <paramref name="obj">obj</paramref> parameter is <see langword="null"></see>.</exception>
811     </member>
812     <member name="M:System.Threading.Monitor.Exit(System.Object)">
813       <summary>Releases an exclusive lock on the specified object.</summary>
814       <param name="obj">The object on which to release the lock.</param>
815       <exception cref="T:System.ArgumentNullException">The <paramref name="obj">obj</paramref> parameter is <see langword="null"></see>.</exception>
816       <exception cref="T:System.Threading.SynchronizationLockException">The current thread does not own the lock for the specified object.</exception>
817     </member>
818     <member name="M:System.Threading.Monitor.IsEntered(System.Object)">
819       <summary>Determines whether the current thread holds the lock on the specified object.</summary>
820       <param name="obj">The object to test.</param>
821       <returns><see langword="true"></see> if the current thread holds the lock on <paramref name="obj">obj</paramref>; otherwise, <see langword="false"></see>.</returns>
822       <exception cref="T:System.ArgumentNullException"><paramref name="obj">obj</paramref> is <see langword="null"></see>.</exception>
823     </member>
824     <member name="M:System.Threading.Monitor.Pulse(System.Object)">
825       <summary>Notifies a thread in the waiting queue of a change in the locked object&amp;#39;s state.</summary>
826       <param name="obj">The object a thread is waiting for.</param>
827       <exception cref="T:System.ArgumentNullException">The <paramref name="obj">obj</paramref> parameter is <see langword="null"></see>.</exception>
828       <exception cref="T:System.Threading.SynchronizationLockException">The calling thread does not own the lock for the specified object.</exception>
829     </member>
830     <member name="M:System.Threading.Monitor.PulseAll(System.Object)">
831       <summary>Notifies all waiting threads of a change in the object&amp;#39;s state.</summary>
832       <param name="obj">The object that sends the pulse.</param>
833       <exception cref="T:System.ArgumentNullException">The <paramref name="obj">obj</paramref> parameter is <see langword="null"></see>.</exception>
834       <exception cref="T:System.Threading.SynchronizationLockException">The calling thread does not own the lock for the specified object.</exception>
835     </member>
836     <member name="M:System.Threading.Monitor.TryEnter(System.Object,System.TimeSpan,System.Boolean@)">
837       <summary>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.</summary>
838       <param name="obj">The object on which to acquire the lock.</param>
839       <param name="timeout">The amount of time to wait for the lock. A value of –1 millisecond specifies an infinite wait.</param>
840       <param name="lockTaken">The result of the attempt to acquire the lock, passed by reference. The input must be <see langword="false"></see>. The output is <see langword="true"></see> if the lock is acquired; otherwise, the output is <see langword="false"></see>. The output is set even if an exception occurs during the attempt to acquire the lock.</param>
841       <exception cref="T:System.ArgumentException">The input to <paramref name="lockTaken">lockTaken</paramref> is <see langword="true"></see>.</exception>
842       <exception cref="T:System.ArgumentNullException">The <paramref name="obj">obj</paramref> parameter is <see langword="null"></see>.</exception>
843       <exception cref="T:System.ArgumentOutOfRangeException">The value of <paramref name="timeout">timeout</paramref> in milliseconds is negative and is not equal to <see cref="System.Threading.Timeout.Infinite"></see> (–1 millisecond), or is greater than <see cref="System.Int32.MaxValue"></see>.</exception>
844     </member>
845     <member name="M:System.Threading.Monitor.TryEnter(System.Object,System.Int32,System.Boolean@)">
846       <summary>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.</summary>
847       <param name="obj">The object on which to acquire the lock.</param>
848       <param name="millisecondsTimeout">The number of milliseconds to wait for the lock.</param>
849       <param name="lockTaken">The result of the attempt to acquire the lock, passed by reference. The input must be <see langword="false"></see>. The output is <see langword="true"></see> if the lock is acquired; otherwise, the output is <see langword="false"></see>. The output is set even if an exception occurs during the attempt to acquire the lock.</param>
850       <exception cref="T:System.ArgumentException">The input to <paramref name="lockTaken">lockTaken</paramref> is <see langword="true"></see>.</exception>
851       <exception cref="T:System.ArgumentNullException">The <paramref name="obj">obj</paramref> parameter is <see langword="null"></see>.</exception>
852       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="millisecondsTimeout">millisecondsTimeout</paramref> is negative, and not equal to <see cref="System.Threading.Timeout.Infinite"></see>.</exception>
853     </member>
854     <member name="M:System.Threading.Monitor.TryEnter(System.Object,System.TimeSpan)">
855       <summary>Attempts, for the specified amount of time, to acquire an exclusive lock on the specified object.</summary>
856       <param name="obj">The object on which to acquire the lock.</param>
857       <param name="timeout">A <see cref="T:System.TimeSpan"></see> representing the amount of time to wait for the lock. A value of –1 millisecond specifies an infinite wait.</param>
858       <returns><see langword="true"></see> if the current thread acquires the lock; otherwise, <see langword="false"></see>.</returns>
859       <exception cref="T:System.ArgumentNullException">The <paramref name="obj">obj</paramref> parameter is <see langword="null"></see>.</exception>
860       <exception cref="T:System.ArgumentOutOfRangeException">The value of <paramref name="timeout">timeout</paramref> in milliseconds is negative and is not equal to <see cref="System.Threading.Timeout.Infinite"></see> (–1 millisecond), or is greater than <see cref="System.Int32.MaxValue"></see>.</exception>
861     </member>
862     <member name="M:System.Threading.Monitor.TryEnter(System.Object,System.Int32)">
863       <summary>Attempts, for the specified number of milliseconds, to acquire an exclusive lock on the specified object.</summary>
864       <param name="obj">The object on which to acquire the lock.</param>
865       <param name="millisecondsTimeout">The number of milliseconds to wait for the lock.</param>
866       <returns><see langword="true"></see> if the current thread acquires the lock; otherwise, <see langword="false"></see>.</returns>
867       <exception cref="T:System.ArgumentNullException">The <paramref name="obj">obj</paramref> parameter is <see langword="null"></see>.</exception>
868       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="millisecondsTimeout">millisecondsTimeout</paramref> is negative, and not equal to <see cref="System.Threading.Timeout.Infinite"></see>.</exception>
869     </member>
870     <member name="M:System.Threading.Monitor.TryEnter(System.Object,System.Boolean@)">
871       <summary>Attempts to acquire an exclusive lock on the specified object, and atomically sets a value that indicates whether the lock was taken.</summary>
872       <param name="obj">The object on which to acquire the lock.</param>
873       <param name="lockTaken">The result of the attempt to acquire the lock, passed by reference. The input must be <see langword="false"></see>. The output is <see langword="true"></see> if the lock is acquired; otherwise, the output is <see langword="false"></see>. The output is set even if an exception occurs during the attempt to acquire the lock.</param>
874       <exception cref="T:System.ArgumentException">The input to <paramref name="lockTaken">lockTaken</paramref> is <see langword="true"></see>.</exception>
875       <exception cref="T:System.ArgumentNullException">The <paramref name="obj">obj</paramref> parameter is <see langword="null"></see>.</exception>
876     </member>
877     <member name="M:System.Threading.Monitor.TryEnter(System.Object)">
878       <summary>Attempts to acquire an exclusive lock on the specified object.</summary>
879       <param name="obj">The object on which to acquire the lock.</param>
880       <returns><see langword="true"></see> if the current thread acquires the lock; otherwise, <see langword="false"></see>.</returns>
881       <exception cref="T:System.ArgumentNullException">The <paramref name="obj">obj</paramref> parameter is <see langword="null"></see>.</exception>
882     </member>
883     <member name="M:System.Threading.Monitor.Wait(System.Object)">
884       <summary>Releases the lock on an object and blocks the current thread until it reacquires the lock.</summary>
885       <param name="obj">The object on which to wait.</param>
886       <returns><see langword="true"></see> 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.</returns>
887       <exception cref="T:System.ArgumentNullException">The <paramref name="obj">obj</paramref> parameter is <see langword="null"></see>.</exception>
888       <exception cref="T:System.Threading.SynchronizationLockException">The calling thread does not own the lock for the specified object.</exception>
889       <exception cref="T:System.Threading.ThreadInterruptedException">The thread that invokes <see langword="Wait"></see> is later interrupted from the waiting state. This happens when another thread calls this thread&amp;#39;s <see cref="System.Threading.Thread.Interrupt"></see> method.</exception>
890     </member>
891     <member name="M:System.Threading.Monitor.Wait(System.Object,System.Int32)">
892       <summary>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.</summary>
893       <param name="obj">The object on which to wait.</param>
894       <param name="millisecondsTimeout">The number of milliseconds to wait before the thread enters the ready queue.</param>
895       <returns><see langword="true"></see> if the lock was reacquired before the specified time elapsed; <see langword="false"></see> if the lock was reacquired after the specified time elapsed. The method does not return until the lock is reacquired.</returns>
896       <exception cref="T:System.ArgumentNullException">The <paramref name="obj">obj</paramref> parameter is <see langword="null"></see>.</exception>
897       <exception cref="T:System.Threading.SynchronizationLockException">The calling thread does not own the lock for the specified object.</exception>
898       <exception cref="T:System.Threading.ThreadInterruptedException">The thread that invokes <see langword="Wait"></see> is later interrupted from the waiting state. This happens when another thread calls this thread&amp;#39;s <see cref="System.Threading.Thread.Interrupt"></see> method.</exception>
899       <exception cref="T:System.ArgumentOutOfRangeException">The value of the <paramref name="millisecondsTimeout">millisecondsTimeout</paramref> parameter is negative, and is not equal to <see cref="System.Threading.Timeout.Infinite"></see>.</exception>
900     </member>
901     <member name="M:System.Threading.Monitor.Wait(System.Object,System.TimeSpan)">
902       <summary>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.</summary>
903       <param name="obj">The object on which to wait.</param>
904       <param name="timeout">A <see cref="T:System.TimeSpan"></see> representing the amount of time to wait before the thread enters the ready queue.</param>
905       <returns><see langword="true"></see> if the lock was reacquired before the specified time elapsed; <see langword="false"></see> if the lock was reacquired after the specified time elapsed. The method does not return until the lock is reacquired.</returns>
906       <exception cref="T:System.ArgumentNullException">The <paramref name="obj">obj</paramref> parameter is <see langword="null"></see>.</exception>
907       <exception cref="T:System.Threading.SynchronizationLockException">The calling thread does not own the lock for the specified object.</exception>
908       <exception cref="T:System.Threading.ThreadInterruptedException">The thread that invokes <see langword="Wait"></see> is later interrupted from the waiting state. This happens when another thread calls this thread&amp;#39;s <see cref="System.Threading.Thread.Interrupt"></see> method.</exception>
909       <exception cref="T:System.ArgumentOutOfRangeException">The value of the <paramref name="timeout">timeout</paramref> parameter in milliseconds is negative and does not represent <see cref="System.Threading.Timeout.Infinite"></see> (–1 millisecond), or is greater than <see cref="System.Int32.MaxValue"></see>.</exception>
910     </member>
911     <member name="M:System.Threading.Monitor.Wait(System.Object,System.Int32,System.Boolean)">
912       <summary>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.</summary>
913       <param name="obj">The object on which to wait.</param>
914       <param name="millisecondsTimeout">The number of milliseconds to wait before the thread enters the ready queue.</param>
915       <param name="exitContext"><see langword="true"></see> to exit and reacquire the synchronization domain for the context (if in a synchronized context) before the wait; otherwise, <see langword="false"></see>.</param>
916       <returns><see langword="true"></see> if the lock was reacquired before the specified time elapsed; <see langword="false"></see> if the lock was reacquired after the specified time elapsed. The method does not return until the lock is reacquired.</returns>
917       <exception cref="T:System.ArgumentNullException">The <paramref name="obj">obj</paramref> parameter is <see langword="null"></see>.</exception>
918       <exception cref="T:System.Threading.SynchronizationLockException"><see langword="Wait"></see> is not invoked from within a synchronized block of code.</exception>
919       <exception cref="T:System.Threading.ThreadInterruptedException">The thread that invokes <see langword="Wait"></see> is later interrupted from the waiting state. This happens when another thread calls this thread&amp;#39;s <see cref="System.Threading.Thread.Interrupt"></see> method.</exception>
920       <exception cref="T:System.ArgumentOutOfRangeException">The value of the <paramref name="millisecondsTimeout">millisecondsTimeout</paramref> parameter is negative, and is not equal to <see cref="System.Threading.Timeout.Infinite"></see>.</exception>
921     </member>
922     <member name="M:System.Threading.Monitor.Wait(System.Object,System.TimeSpan,System.Boolean)">
923       <summary>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.</summary>
924       <param name="obj">The object on which to wait.</param>
925       <param name="timeout">A <see cref="T:System.TimeSpan"></see> representing the amount of time to wait before the thread enters the ready queue.</param>
926       <param name="exitContext"><see langword="true"></see> to exit and reacquire the synchronization domain for the context (if in a synchronized context) before the wait; otherwise, <see langword="false"></see>.</param>
927       <returns><see langword="true"></see> if the lock was reacquired before the specified time elapsed; <see langword="false"></see> if the lock was reacquired after the specified time elapsed. The method does not return until the lock is reacquired.</returns>
928       <exception cref="T:System.ArgumentNullException">The <paramref name="obj">obj</paramref> parameter is <see langword="null"></see>.</exception>
929       <exception cref="T:System.Threading.SynchronizationLockException"><see langword="Wait"></see> is not invoked from within a synchronized block of code.</exception>
930       <exception cref="T:System.Threading.ThreadInterruptedException">The thread that invokes Wait is later interrupted from the waiting state. This happens when another thread calls this thread&amp;#39;s <see cref="System.Threading.Thread.Interrupt"></see> method.</exception>
931       <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="timeout">timeout</paramref> parameter is negative and does not represent <see cref="System.Threading.Timeout.Infinite"></see> (–1 millisecond), or is greater than <see cref="System.Int32.MaxValue"></see>.</exception>
932     </member>
933     <member name="T:System.Threading.ManualResetEventSlim">
934       <summary>Provides a slimmed down version of <see cref="T:System.Threading.ManualResetEvent"></see>.</summary>
935     </member>
936     <member name="M:System.Threading.ManualResetEventSlim.#ctor">
937       <summary>Initializes a new instance of the <see cref="T:System.Threading.ManualResetEventSlim"></see> class with an initial state of nonsignaled.</summary>
938     </member>
939     <member name="M:System.Threading.ManualResetEventSlim.#ctor(System.Boolean)">
940       <summary>Initializes a new instance of the <see cref="T:System.Threading.ManualResetEventSlim"></see> class with a Boolean value indicating whether to set the intial state to signaled.</summary>
941       <param name="initialState">true to set the initial state signaled; false to set the initial state to nonsignaled.</param>
942     </member>
943     <member name="M:System.Threading.ManualResetEventSlim.#ctor(System.Boolean,System.Int32)">
944       <summary>Initializes a new instance of the <see cref="T:System.Threading.ManualResetEventSlim"></see> class with a Boolean value indicating whether to set the intial state to signaled and a specified spin count.</summary>
945       <param name="initialState">true to set the initial state to signaled; false to set the initial state to nonsignaled.</param>
946       <param name="spinCount">The number of spin waits that will occur before falling back to a kernel-based wait operation.</param>
947       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="spinCount">spinCount</paramref> is less than 0 or greater than the maximum allowed value.</exception>
948     </member>
949     <member name="M:System.Threading.ManualResetEventSlim.Dispose">
950       <summary>Releases all resources used by the current instance of the <see cref="T:System.Threading.ManualResetEventSlim"></see> class.</summary>
951     </member>
952     <member name="M:System.Threading.ManualResetEventSlim.Dispose(System.Boolean)">
953       <summary>Releases the unmanaged resources used by the <see cref="T:System.Threading.ManualResetEventSlim"></see>, and optionally releases the managed resources.</summary>
954       <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
955     </member>
956     <member name="P:System.Threading.ManualResetEventSlim.IsSet">
957       <summary>Gets whether the event is set.</summary>
958       <returns>true if the event has is set; otherwise, false.</returns>
959     </member>
960     <member name="M:System.Threading.ManualResetEventSlim.Reset">
961       <summary>Sets the state of the event to nonsignaled, which causes threads to block.</summary>
962       <exception cref="T:System.ObjectDisposedException">The object has already been disposed.</exception>
963     </member>
964     <member name="M:System.Threading.ManualResetEventSlim.Set">
965       <summary>Sets the state of the event to signaled, which allows one or more threads waiting on the event to proceed.</summary>
966     </member>
967     <member name="P:System.Threading.ManualResetEventSlim.SpinCount">
968       <summary>Gets the number of spin waits that will occur before falling back to a kernel-based wait operation.</summary>
969       <returns>Returns the number of spin waits that will occur before falling back to a kernel-based wait operation.</returns>
970     </member>
971     <member name="M:System.Threading.ManualResetEventSlim.Wait">
972       <summary>Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"></see> is set.</summary>
973       <exception cref="T:System.InvalidOperationException">The maximum number of waiters has been exceeded.</exception>
974       <exception cref="T:System.ObjectDisposedException">The object has already been disposed.</exception>
975     </member>
976     <member name="M:System.Threading.ManualResetEventSlim.Wait(System.Int32)">
977       <summary>Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"></see> is set, using a 32-bit signed integer to measure the time interval.</summary>
978       <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"></see>(-1) to wait indefinitely.</param>
979       <returns><see langword="true"></see> if the <see cref="T:System.Threading.ManualResetEventSlim"></see> was set; otherwise, <see langword="false"></see>.</returns>
980       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="millisecondsTimeout">millisecondsTimeout</paramref> is a negative number other than -1, which represents an infinite time-out.</exception>
981       <exception cref="T:System.InvalidOperationException">The maximum number of waiters has been exceeded.</exception>
982       <exception cref="T:System.ObjectDisposedException">The object has already been disposed.</exception>
983     </member>
984     <member name="M:System.Threading.ManualResetEventSlim.Wait(System.Threading.CancellationToken)">
985       <summary>Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"></see> receives a signal, while observing a <see cref="T:System.Threading.CancellationToken"></see>.</summary>
986       <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"></see> to observe.</param>
987       <exception cref="T:System.InvalidOperationException">The maximum number of waiters has been exceeded.</exception>
988       <exception cref="T:System.OperationCanceledException"><paramref name="cancellationToken">cancellationToken</paramref> was canceled.</exception>
989       <exception cref="T:System.ObjectDisposedException">The object has already been disposed or the <see cref="System.Threading.CancellationTokenSource"></see> that created <paramref name="cancellationToken">cancellationToken</paramref> has been disposed.</exception>
990     </member>
991     <member name="M:System.Threading.ManualResetEventSlim.Wait(System.TimeSpan)">
992       <summary>Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"></see> is set, using a <see cref="T:System.TimeSpan"></see> to measure the time interval.</summary>
993       <param name="timeout">A <see cref="T:System.TimeSpan"></see> that represents the number of milliseconds to wait, or a <see cref="T:System.TimeSpan"></see> that represents -1 milliseconds to wait indefinitely.</param>
994       <returns><see langword="true"></see> if the <see cref="T:System.Threading.ManualResetEventSlim"></see> was set; otherwise, <see langword="false"></see>.</returns>
995       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="timeout">timeout</paramref> is a negative number other than -1 milliseconds, which represents an infinite time-out.  
996  -or-  
997  The number of milliseconds in <paramref name="timeout">timeout</paramref> is greater than <see cref="System.Int32.MaxValue"></see>.</exception>
998       <exception cref="T:System.InvalidOperationException">The maximum number of waiters has been exceeded.</exception>
999       <exception cref="T:System.ObjectDisposedException">The object has already been disposed.</exception>
1000     </member>
1001     <member name="M:System.Threading.ManualResetEventSlim.Wait(System.Int32,System.Threading.CancellationToken)">
1002       <summary>Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"></see> is set, using a 32-bit signed integer to measure the time interval, while observing a <see cref="T:System.Threading.CancellationToken"></see>.</summary>
1003       <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"></see>(-1) to wait indefinitely.</param>
1004       <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"></see> to observe.</param>
1005       <returns><see langword="true"></see> if the <see cref="T:System.Threading.ManualResetEventSlim"></see> was set; otherwise, <see langword="false"></see>.</returns>
1006       <exception cref="T:System.OperationCanceledException"><paramref name="cancellationToken">cancellationToken</paramref> was canceled.</exception>
1007       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="millisecondsTimeout">millisecondsTimeout</paramref> is a negative number other than -1, which represents an infinite time-out.</exception>
1008       <exception cref="T:System.InvalidOperationException">The maximum number of waiters has been exceeded.</exception>
1009       <exception cref="T:System.ObjectDisposedException">The object has already been disposed or the <see cref="System.Threading.CancellationTokenSource"></see> that created <paramref name="cancellationToken">cancellationToken</paramref> has been disposed.</exception>
1010     </member>
1011     <member name="M:System.Threading.ManualResetEventSlim.Wait(System.TimeSpan,System.Threading.CancellationToken)">
1012       <summary>Blocks the current thread until the current <see cref="T:System.Threading.ManualResetEventSlim"></see> is set, using a <see cref="T:System.TimeSpan"></see> to measure the time interval, while observing a <see cref="T:System.Threading.CancellationToken"></see>.</summary>
1013       <param name="timeout">A <see cref="T:System.TimeSpan"></see> that represents the number of milliseconds to wait, or a <see cref="T:System.TimeSpan"></see> that represents -1 milliseconds to wait indefinitely.</param>
1014       <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"></see> to observe.</param>
1015       <returns><see langword="true"></see> if the <see cref="T:System.Threading.ManualResetEventSlim"></see> was set; otherwise, <see langword="false"></see>.</returns>
1016       <exception cref="T:System.OperationCanceledException"><paramref name="cancellationToken">cancellationToken</paramref> was canceled.</exception>
1017       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="timeout">timeout</paramref> is a negative number other than -1 milliseconds, which represents an infinite time-out.  
1018  -or-  
1019  The number of milliseconds in <paramref name="timeout">timeout</paramref> is greater than <see cref="System.Int32.MaxValue"></see>.</exception>
1020       <exception cref="T:System.InvalidOperationException">The maximum number of waiters has been exceeded.</exception>
1021       <exception cref="T:System.ObjectDisposedException">The object has already been disposed or the <see cref="System.Threading.CancellationTokenSource"></see> that created <paramref name="cancellationToken">cancellationToken</paramref> has been disposed.</exception>
1022     </member>
1023     <member name="P:System.Threading.ManualResetEventSlim.WaitHandle">
1024       <summary>Gets the underlying <see cref="T:System.Threading.WaitHandle"></see> object for this <see cref="T:System.Threading.ManualResetEventSlim"></see>.</summary>
1025       <returns>The underlying <see cref="T:System.Threading.WaitHandle"></see> event object fore this <see cref="T:System.Threading.ManualResetEventSlim"></see>.</returns>
1026     </member>
1027     <member name="T:System.Threading.ManualResetEvent">
1028       <summary>Notifies one or more waiting threads that an event has occurred. This class cannot be inherited.</summary>
1029     </member>
1030     <member name="M:System.Threading.ManualResetEvent.#ctor(System.Boolean)">
1031       <summary>Initializes a new instance of the <see cref="T:System.Threading.ManualResetEvent"></see> class with a Boolean value indicating whether to set the initial state to signaled.</summary>
1032       <param name="initialState"><see langword="true"></see> to set the initial state signaled; <see langword="false"></see> to set the initial state to nonsignaled.</param>
1033     </member>
1034     <member name="T:System.Threading.LockRecursionPolicy">
1035       <summary>Specifies whether a lock can be entered multiple times by the same thread.</summary>
1036     </member>
1037     <member name="F:System.Threading.LockRecursionPolicy.NoRecursion">
1038       <summary>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.</summary>
1039       <returns></returns>
1040     </member>
1041     <member name="F:System.Threading.LockRecursionPolicy.SupportsRecursion">
1042       <summary>A thread can enter a lock recursively. Some classes may restrict this capability.</summary>
1043       <returns></returns>
1044     </member>
1045     <member name="T:System.Threading.LockRecursionException">
1046       <summary>The exception that is thrown when recursive entry into a lock is not compatible with the recursion policy for the lock.</summary>
1047     </member>
1048     <member name="M:System.Threading.LockRecursionException.#ctor">
1049       <summary>Initializes a new instance of the <see cref="T:System.Threading.LockRecursionException"></see> class with a system-supplied message that describes the error.</summary>
1050     </member>
1051     <member name="M:System.Threading.LockRecursionException.#ctor(System.String)">
1052       <summary>Initializes a new instance of the <see cref="T:System.Threading.LockRecursionException"></see> class with a specified message that describes the error.</summary>
1053       <param name="message">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.</param>
1054     </member>
1055     <member name="M:System.Threading.LockRecursionException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
1056       <summary>Initializes a new instance of the <see cref="T:System.Threading.LockRecursionException"></see> class with serialized data.</summary>
1057       <param name="info">The object that holds the serialized object data.</param>
1058       <param name="context">The contextual information about the source or destination.</param>
1059     </member>
1060     <member name="M:System.Threading.LockRecursionException.#ctor(System.String,System.Exception)">
1061       <summary>Initializes a new instance of the <see cref="T:System.Threading.LockRecursionException"></see> class with a specified error message and a reference to the inner exception that is the cause of this exception.</summary>
1062       <param name="message">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.</param>
1063       <param name="innerException">The exception that caused the current exception. If the innerException parameter is not <see langword="null"></see>, the current exception is raised in a <see langword="catch"></see> block that handles the inner exception.</param>
1064     </member>
1065     <member name="T:System.Threading.LockCookie">
1066       <summary>Defines the lock that implements single-writer/multiple-reader semantics. This is a value type.</summary>
1067     </member>
1068     <member name="M:System.Threading.LockCookie.Equals(System.Object)">
1069       <summary>Indicates whether a specified object is a <see cref="T:System.Threading.LockCookie"></see> and is equal to the current instance.</summary>
1070       <param name="obj">The object to compare to the current instance.</param>
1071       <returns><see langword="true"></see> if the value of <paramref name="obj">obj</paramref> is equal to the value of the current instance; otherwise, <see langword="false"></see>.</returns>
1072     </member>
1073     <member name="M:System.Threading.LockCookie.Equals(System.Threading.LockCookie)">
1074       <summary>Indicates whether the current instance is equal to the specified <see cref="T:System.Threading.LockCookie"></see>.</summary>
1075       <param name="obj">The <see cref="T:System.Threading.LockCookie"></see> to compare to the current instance.</param>
1076       <returns><see langword="true"></see> if <paramref name="obj">obj</paramref> is equal to the value of the current instance; otherwise, <see langword="false"></see>.</returns>
1077     </member>
1078     <member name="M:System.Threading.LockCookie.GetHashCode">
1079       <summary>Returns the hash code for this instance.</summary>
1080       <returns>A 32-bit signed integer hash code.</returns>
1081     </member>
1082     <member name="M:System.Threading.LockCookie.op_Equality(System.Threading.LockCookie,System.Threading.LockCookie)">
1083       <summary>Indicates whether two <see cref="T:System.Threading.LockCookie"></see> structures are equal.</summary>
1084       <param name="a">The <see cref="T:System.Threading.LockCookie"></see> to compare to b.</param>
1085       <param name="b">The <see cref="T:System.Threading.LockCookie"></see> to compare to a.</param>
1086       <returns><see langword="true"></see> if <paramref name="a">a</paramref> is equal to <paramref name="b">b</paramref>; otherwise, <see langword="false"></see>.</returns>
1087     </member>
1088     <member name="M:System.Threading.LockCookie.op_Inequality(System.Threading.LockCookie,System.Threading.LockCookie)">
1089       <summary>Indicates whether two <see cref="T:System.Threading.LockCookie"></see> structures are not equal.</summary>
1090       <param name="a">The <see cref="T:System.Threading.LockCookie"></see> to compare to b.</param>
1091       <param name="b">The <see cref="T:System.Threading.LockCookie"></see> to compare to a.</param>
1092       <returns><see langword="true"></see> if <paramref name="a">a</paramref> is not equal to <paramref name="b">b</paramref>; otherwise, <see langword="false"></see>.</returns>
1093     </member>
1094     <member name="T:System.Threading.LazyInitializer">
1095       <summary>Provides lazy initialization routines.</summary>
1096     </member>
1097     <member name="M:System.Threading.LazyInitializer.EnsureInitialized``1(``0@)">
1098       <summary>Initializes a target reference type with the type&amp;#39;s default constructor if it hasn&amp;#39;t already been initialized.</summary>
1099       <param name="target">A reference of type T to initialize if it has not already been initialized.</param>
1100       <typeparam name="T">The type of the reference to be initialized.</typeparam>
1101       <returns>The initialized reference of type <paramref name="T">T</paramref>.</returns>
1102       <exception cref="T:System.MemberAccessException">Permissions to access the constructor of type <paramref name="T">T</paramref> were missing.</exception>
1103       <exception cref="T:System.MissingMemberException">Type <paramref name="T">T</paramref> does not have a default constructor.</exception>
1104     </member>
1105     <member name="M:System.Threading.LazyInitializer.EnsureInitialized``1(``0@,System.Func{``0})">
1106       <summary>Initializes a target reference type by using a specified function if it hasn&amp;#39;t already been initialized.</summary>
1107       <param name="target">The reference of type T to initialize if it hasn&amp;#39;t already been initialized.</param>
1108       <param name="valueFactory">The function that is called to initialize the reference.</param>
1109       <typeparam name="T">The reference type of the reference to be initialized.</typeparam>
1110       <returns>The initialized value of type <paramref name="T">T</paramref>.</returns>
1111       <exception cref="T:System.MissingMemberException">Type <paramref name="T">T</paramref> does not have a default constructor.</exception>
1112       <exception cref="T:System.InvalidOperationException"><paramref name="valueFactory">valueFactory</paramref> returned null (Nothing in Visual Basic).</exception>
1113     </member>
1114     <member name="M:System.Threading.LazyInitializer.EnsureInitialized``1(``0@,System.Boolean@,System.Object@)">
1115       <summary>Initializes a target reference or value type with its default constructor if it hasn&amp;#39;t already been initialized.</summary>
1116       <param name="target">A reference or value of type T to initialize if it hasn&amp;#39;t already been initialized.</param>
1117       <param name="initialized">A reference to a Boolean value that determines whether the target has already been initialized.</param>
1118       <param name="syncLock">A reference to an object used as the mutually exclusive lock for initializing target. If syncLock is <see langword="null"></see>, a new object will be instantiated.</param>
1119       <typeparam name="T">The type of the reference to be initialized.</typeparam>
1120       <returns>The initialized value of type <paramref name="T">T</paramref>.</returns>
1121       <exception cref="T:System.MemberAccessException">Permissions to access the constructor of type <paramref name="T">T</paramref> were missing.</exception>
1122       <exception cref="T:System.MissingMemberException">Type <paramref name="T">T</paramref> does not have a default constructor.</exception>
1123     </member>
1124     <member name="M:System.Threading.LazyInitializer.EnsureInitialized``1(``0@,System.Object@,System.Func{``0})">
1125       <param name="target"></param>
1126       <param name="syncLock"></param>
1127       <param name="valueFactory"></param>
1128       <typeparam name="T"></typeparam>
1129       <returns></returns>
1130     </member>
1131     <member name="M:System.Threading.LazyInitializer.EnsureInitialized``1(``0@,System.Boolean@,System.Object@,System.Func{``0})">
1132       <summary>Initializes a target reference or value type by using a specified function if it hasn&amp;#39;t already been initialized.</summary>
1133       <param name="target">A reference or value of type T to initialize if it hasn&amp;#39;t already been initialized.</param>
1134       <param name="initialized">A reference to a Boolean value that determines whether the target has already been initialized.</param>
1135       <param name="syncLock">A reference to an object used as the mutually exclusive lock for initializing target. If syncLock is <see langword="null"></see>, a new object will be instantiated.</param>
1136       <param name="valueFactory">The function that is called to initialize the reference or value.</param>
1137       <typeparam name="T">The type of the reference to be initialized.</typeparam>
1138       <returns>The initialized value of type <paramref name="T">T</paramref>.</returns>
1139       <exception cref="T:System.MemberAccessException">Permissions to access the constructor of type <paramref name="T">T</paramref> were missing.</exception>
1140       <exception cref="T:System.MissingMemberException">Type <paramref name="T">T</paramref> does not have a default constructor.</exception>
1141     </member>
1142     <member name="T:System.Threading.Interlocked">
1143       <summary>Provides atomic operations for variables that are shared by multiple threads.</summary>
1144     </member>
1145     <member name="M:System.Threading.Interlocked.Add(System.Int32@,System.Int32)">
1146       <summary>Adds two 32-bit integers and replaces the first integer with the sum, as an atomic operation.</summary>
1147       <param name="location1">A variable containing the first value to be added. The sum of the two values is stored in location1.</param>
1148       <param name="value">The value to be added to the integer at location1.</param>
1149       <returns>The new value stored at <paramref name="location1">location1</paramref>.</returns>
1150       <exception cref="T:System.NullReferenceException">The address of <paramref name="location1">location1</paramref> is a null pointer.</exception>
1151     </member>
1152     <member name="M:System.Threading.Interlocked.Add(System.Int64@,System.Int64)">
1153       <summary>Adds two 64-bit integers and replaces the first integer with the sum, as an atomic operation.</summary>
1154       <param name="location1">A variable containing the first value to be added. The sum of the two values is stored in location1.</param>
1155       <param name="value">The value to be added to the integer at location1.</param>
1156       <returns>The new value stored at <paramref name="location1">location1</paramref>.</returns>
1157       <exception cref="T:System.NullReferenceException">The address of <paramref name="location1">location1</paramref> is a null pointer.</exception>
1158     </member>
1159     <member name="M:System.Threading.Interlocked.CompareExchange(System.Double@,System.Double,System.Double)">
1160       <summary>Compares two double-precision floating point numbers for equality and, if they are equal, replaces the first value.</summary>
1161       <param name="location1">The destination, whose value is compared with comparand and possibly replaced.</param>
1162       <param name="value">The value that replaces the destination value if the comparison results in equality.</param>
1163       <param name="comparand">The value that is compared to the value at location1.</param>
1164       <returns>The original value in <paramref name="location1">location1</paramref>.</returns>
1165       <exception cref="T:System.NullReferenceException">The address of <paramref name="location1">location1</paramref> is a null pointer.</exception>
1166     </member>
1167     <member name="M:System.Threading.Interlocked.CompareExchange(System.Int32@,System.Int32,System.Int32)">
1168       <summary>Compares two 32-bit signed integers for equality and, if they are equal, replaces the first value.</summary>
1169       <param name="location1">The destination, whose value is compared with comparand and possibly replaced.</param>
1170       <param name="value">The value that replaces the destination value if the comparison results in equality.</param>
1171       <param name="comparand">The value that is compared to the value at location1.</param>
1172       <returns>The original value in <paramref name="location1">location1</paramref>.</returns>
1173       <exception cref="T:System.NullReferenceException">The address of <paramref name="location1">location1</paramref> is a null pointer.</exception>
1174     </member>
1175     <member name="M:System.Threading.Interlocked.CompareExchange(System.Int64@,System.Int64,System.Int64)">
1176       <summary>Compares two 64-bit signed integers for equality and, if they are equal, replaces the first value.</summary>
1177       <param name="location1">The destination, whose value is compared with comparand and possibly replaced.</param>
1178       <param name="value">The value that replaces the destination value if the comparison results in equality.</param>
1179       <param name="comparand">The value that is compared to the value at location1.</param>
1180       <returns>The original value in <paramref name="location1">location1</paramref>.</returns>
1181       <exception cref="T:System.NullReferenceException">The address of <paramref name="location1">location1</paramref> is a null pointer.</exception>
1182     </member>
1183     <member name="M:System.Threading.Interlocked.CompareExchange(System.IntPtr@,System.IntPtr,System.IntPtr)">
1184       <summary>Compares two platform-specific handles or pointers for equality and, if they are equal, replaces the first one.</summary>
1185       <param name="location1">The destination <see cref="T:System.IntPtr"></see>, whose value is compared with the value of comparand and possibly replaced by value.</param>
1186       <param name="value">The <see cref="T:System.IntPtr"></see> that replaces the destination value if the comparison results in equality.</param>
1187       <param name="comparand">The <see cref="T:System.IntPtr"></see> that is compared to the value at location1.</param>
1188       <returns>The original value in <paramref name="location1">location1</paramref>.</returns>
1189       <exception cref="T:System.NullReferenceException">The address of <paramref name="location1">location1</paramref> is a null pointer.</exception>
1190     </member>
1191     <member name="M:System.Threading.Interlocked.CompareExchange(System.Object@,System.Object,System.Object)">
1192       <summary>Compares two objects for reference equality and, if they are equal, replaces the first object.</summary>
1193       <param name="location1">The destination object that is compared with comparand and possibly replaced.</param>
1194       <param name="value">The object that replaces the destination object if the comparison results in equality.</param>
1195       <param name="comparand">The object that is compared to the object at location1.</param>
1196       <returns>The original value in <paramref name="location1">location1</paramref>.</returns>
1197       <exception cref="T:System.ArgumentNullException">The address of <paramref name="location1">location1</paramref> is a null pointer.</exception>
1198     </member>
1199     <member name="M:System.Threading.Interlocked.CompareExchange(System.Single@,System.Single,System.Single)">
1200       <summary>Compares two single-precision floating point numbers for equality and, if they are equal, replaces the first value.</summary>
1201       <param name="location1">The destination, whose value is compared with comparand and possibly replaced.</param>
1202       <param name="value">The value that replaces the destination value if the comparison results in equality.</param>
1203       <param name="comparand">The value that is compared to the value at location1.</param>
1204       <returns>The original value in <paramref name="location1">location1</paramref>.</returns>
1205       <exception cref="T:System.NullReferenceException">The address of <paramref name="location1">location1</paramref> is a null pointer.</exception>
1206     </member>
1207     <member name="M:System.Threading.Interlocked.CompareExchange``1(``0@,``0,``0)">
1208       <summary>Compares two instances of the specified reference type <paramref name="T">T</paramref> for equality and, if they are equal, replaces the first one.</summary>
1209       <param name="location1">The destination, whose value is compared with comparand and possibly replaced. This is a reference parameter (<see langword="ref"></see> in C#, <see langword="ByRef"></see> in Visual Basic).</param>
1210       <param name="value">The value that replaces the destination value if the comparison results in equality.</param>
1211       <param name="comparand">The value that is compared to the value at location1.</param>
1212       <typeparam name="T">The type to be used for location1, value, and comparand. This type must be a reference type.</typeparam>
1213       <returns>The original value in <paramref name="location1">location1</paramref>.</returns>
1214       <exception cref="T:System.NullReferenceException">The address of <paramref name="location1">location1</paramref> is a null pointer.</exception>
1215     </member>
1216     <member name="M:System.Threading.Interlocked.Decrement(System.Int32@)">
1217       <summary>Decrements a specified variable and stores the result, as an atomic operation.</summary>
1218       <param name="location">The variable whose value is to be decremented.</param>
1219       <returns>The decremented value.</returns>
1220       <exception cref="T:System.ArgumentNullException">The address of <paramref name="location">location</paramref> is a null pointer.</exception>
1221     </member>
1222     <member name="M:System.Threading.Interlocked.Decrement(System.Int64@)">
1223       <summary>Decrements the specified variable and stores the result, as an atomic operation.</summary>
1224       <param name="location">The variable whose value is to be decremented.</param>
1225       <returns>The decremented value.</returns>
1226       <exception cref="T:System.ArgumentNullException">The address of <paramref name="location">location</paramref> is a null pointer.</exception>
1227     </member>
1228     <member name="M:System.Threading.Interlocked.Exchange(System.Single@,System.Single)">
1229       <summary>Sets a single-precision floating point number to a specified value and returns the original value, as an atomic operation.</summary>
1230       <param name="location1">The variable to set to the specified value.</param>
1231       <param name="value">The value to which the location1 parameter is set.</param>
1232       <returns>The original value of <paramref name="location1">location1</paramref>.</returns>
1233       <exception cref="T:System.NullReferenceException">The address of <paramref name="location1">location1</paramref> is a null pointer.</exception>
1234     </member>
1235     <member name="M:System.Threading.Interlocked.Exchange(System.Object@,System.Object)">
1236       <summary>Sets an object to a specified value and returns a reference to the original object, as an atomic operation.</summary>
1237       <param name="location1">The variable to set to the specified value.</param>
1238       <param name="value">The value to which the location1 parameter is set.</param>
1239       <returns>The original value of <paramref name="location1">location1</paramref>.</returns>
1240       <exception cref="T:System.ArgumentNullException">The address of <paramref name="location1">location1</paramref> is a null pointer.</exception>
1241     </member>
1242     <member name="M:System.Threading.Interlocked.Exchange(System.IntPtr@,System.IntPtr)">
1243       <summary>Sets a platform-specific handle or pointer to a specified value and returns the original value, as an atomic operation.</summary>
1244       <param name="location1">The variable to set to the specified value.</param>
1245       <param name="value">The value to which the location1 parameter is set.</param>
1246       <returns>The original value of <paramref name="location1">location1</paramref>.</returns>
1247       <exception cref="T:System.NullReferenceException">The address of <paramref name="location1">location1</paramref> is a null pointer.</exception>
1248     </member>
1249     <member name="M:System.Threading.Interlocked.Exchange(System.Double@,System.Double)">
1250       <summary>Sets a double-precision floating point number to a specified value and returns the original value, as an atomic operation.</summary>
1251       <param name="location1">The variable to set to the specified value.</param>
1252       <param name="value">The value to which the location1 parameter is set.</param>
1253       <returns>The original value of <paramref name="location1">location1</paramref>.</returns>
1254       <exception cref="T:System.NullReferenceException">The address of <paramref name="location1">location1</paramref> is a null pointer.</exception>
1255     </member>
1256     <member name="M:System.Threading.Interlocked.Exchange(System.Int32@,System.Int32)">
1257       <summary>Sets a 32-bit signed integer to a specified value and returns the original value, as an atomic operation.</summary>
1258       <param name="location1">The variable to set to the specified value.</param>
1259       <param name="value">The value to which the location1 parameter is set.</param>
1260       <returns>The original value of <paramref name="location1">location1</paramref>.</returns>
1261       <exception cref="T:System.ArgumentNullException">The address of <paramref name="location1">location1</paramref> is a null pointer.</exception>
1262     </member>
1263     <member name="M:System.Threading.Interlocked.Exchange(System.Int64@,System.Int64)">
1264       <summary>Sets a 64-bit signed integer to a specified value and returns the original value, as an atomic operation.</summary>
1265       <param name="location1">The variable to set to the specified value.</param>
1266       <param name="value">The value to which the location1 parameter is set.</param>
1267       <returns>The original value of <paramref name="location1">location1</paramref>.</returns>
1268       <exception cref="T:System.NullReferenceException">The address of <paramref name="location1">location1</paramref> is a null pointer.</exception>
1269     </member>
1270     <member name="M:System.Threading.Interlocked.Exchange``1(``0@,``0)">
1271       <summary>Sets a variable of the specified type <paramref name="T">T</paramref> to a specified value and returns the original value, as an atomic operation.</summary>
1272       <param name="location1">The variable to set to the specified value. This is a reference parameter (<see langword="ref"></see> in C#, <see langword="ByRef"></see> in Visual Basic).</param>
1273       <param name="value">The value to which the location1 parameter is set.</param>
1274       <typeparam name="T">The type to be used for location1 and value. This type must be a reference type.</typeparam>
1275       <returns>The original value of <paramref name="location1">location1</paramref>.</returns>
1276       <exception cref="T:System.NullReferenceException">The address of <paramref name="location1">location1</paramref> is a null pointer.</exception>
1277     </member>
1278     <member name="M:System.Threading.Interlocked.Increment(System.Int32@)">
1279       <summary>Increments a specified variable and stores the result, as an atomic operation.</summary>
1280       <param name="location">The variable whose value is to be incremented.</param>
1281       <returns>The incremented value.</returns>
1282       <exception cref="T:System.NullReferenceException">The address of <paramref name="location">location</paramref> is a null pointer.</exception>
1283     </member>
1284     <member name="M:System.Threading.Interlocked.Increment(System.Int64@)">
1285       <summary>Increments a specified variable and stores the result, as an atomic operation.</summary>
1286       <param name="location">The variable whose value is to be incremented.</param>
1287       <returns>The incremented value.</returns>
1288       <exception cref="T:System.NullReferenceException">The address of <paramref name="location">location</paramref> is a null pointer.</exception>
1289     </member>
1290     <member name="M:System.Threading.Interlocked.MemoryBarrier">
1291       <summary>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 <see cref="M:System.Threading.Interlocked.MemoryBarrier"></see> execute after memory accesses that follow the call to <see cref="M:System.Threading.Interlocked.MemoryBarrier"></see>.</summary>
1292     </member>
1293     <member name="M:System.Threading.Interlocked.MemoryBarrierProcessWide">
1294       
1295     </member>
1296     <member name="M:System.Threading.Interlocked.Read(System.Int64@)">
1297       <summary>Returns a 64-bit value, loaded as an atomic operation.</summary>
1298       <param name="location">The 64-bit value to be loaded.</param>
1299       <returns>The loaded value.</returns>
1300     </member>
1301     <member name="T:System.Threading.HostExecutionContextManager">
1302       <summary>Provides the functionality that allows a common language runtime host to participate in the flow, or migration, of the execution context.</summary>
1303     </member>
1304     <member name="M:System.Threading.HostExecutionContextManager.#ctor">
1305       <summary>Initializes a new instance of the <see cref="T:System.Threading.HostExecutionContextManager"></see> class.</summary>
1306     </member>
1307     <member name="M:System.Threading.HostExecutionContextManager.Capture">
1308       <summary>Captures the host execution context from the current thread.</summary>
1309       <returns>A <see cref="T:System.Threading.HostExecutionContext"></see> object representing the host execution context of the current thread.</returns>
1310     </member>
1311     <member name="M:System.Threading.HostExecutionContextManager.Revert(System.Object)">
1312       <summary>Restores the host execution context to its prior state.</summary>
1313       <param name="previousState">The previous context state to revert to.</param>
1314       <exception cref="T:System.InvalidOperationException"><paramref name="previousState">previousState</paramref> is <see langword="null"></see>.  
1315  -or-  
1316  <paramref name="previousState">previousState</paramref> was not created on the current thread.  
1317  -or-  
1318  <paramref name="previousState">previousState</paramref> is not the last state for the <see cref="System.Threading.HostExecutionContext"></see>.</exception>
1319     </member>
1320     <member name="M:System.Threading.HostExecutionContextManager.SetHostExecutionContext(System.Threading.HostExecutionContext)">
1321       <summary>Sets the current host execution context to the specified host execution context.</summary>
1322       <param name="hostExecutionContext">The <see cref="T:System.Threading.HostExecutionContext"></see> to be set.</param>
1323       <returns>An object for restoring the <see cref="T:System.Threading.HostExecutionContext"></see> to its previous state.</returns>
1324       <exception cref="T:System.InvalidOperationException"><paramref name="hostExecutionContext">hostExecutionContext</paramref> was not acquired through a capture operation.  
1325  -or-  
1326  <paramref name="hostExecutionContext">hostExecutionContext</paramref> has been the argument to a previous <see cref="System.Threading.HostExecutionContextManager.SetHostExecutionContext(System.Threading.HostExecutionContext)"></see> method call.</exception>
1327     </member>
1328     <member name="T:System.Threading.HostExecutionContext">
1329       <summary>Encapsulates and propagates the host execution context across threads.</summary>
1330     </member>
1331     <member name="M:System.Threading.HostExecutionContext.#ctor">
1332       <summary>Initializes a new instance of the <see cref="T:System.Threading.HostExecutionContext"></see> class.</summary>
1333     </member>
1334     <member name="M:System.Threading.HostExecutionContext.#ctor(System.Object)">
1335       <summary>Initializes a new instance of the <see cref="T:System.Threading.HostExecutionContext"></see> class using the specified state.</summary>
1336       <param name="state">An object representing the host execution context state.</param>
1337     </member>
1338     <member name="M:System.Threading.HostExecutionContext.CreateCopy">
1339       <summary>Creates a copy of the current host execution context.</summary>
1340       <returns>A <see cref="T:System.Threading.HostExecutionContext"></see> object representing the host context for the current thread.</returns>
1341     </member>
1342     <member name="M:System.Threading.HostExecutionContext.Dispose">
1343       <summary>Releases all resources used by the current instance of the <see cref="T:System.Threading.HostExecutionContext"></see> class.</summary>
1344     </member>
1345     <member name="M:System.Threading.HostExecutionContext.Dispose(System.Boolean)">
1346       <summary>When overridden in a derived class, releases the unmanaged resources used by the <see cref="T:System.Threading.WaitHandle"></see>, and optionally releases the managed resources.</summary>
1347       <param name="disposing"><see langword="true"></see> to release both managed and unmanaged resources; <see langword="false"></see> to release only unmanaged resources.</param>
1348     </member>
1349     <member name="P:System.Threading.HostExecutionContext.State">
1350       <summary>Gets or sets the state of the host execution context.</summary>
1351       <returns>An object representing the host execution context state.</returns>
1352     </member>
1353     <member name="T:System.Threading.ExecutionContext">
1354       <summary>Manages the execution context for the current thread. This class cannot be inherited.</summary>
1355     </member>
1356     <member name="M:System.Threading.ExecutionContext.Capture">
1357       <summary>Captures the execution context from the current thread.</summary>
1358       <returns>An <see cref="T:System.Threading.ExecutionContext"></see> object representing the execution context for the current thread.</returns>
1359     </member>
1360     <member name="M:System.Threading.ExecutionContext.CreateCopy">
1361       <summary>Creates a copy of the current execution context.</summary>
1362       <returns>An <see cref="T:System.Threading.ExecutionContext"></see> object representing the current execution context.</returns>
1363       <exception cref="T:System.InvalidOperationException">This context cannot be copied because it is used. Only newly captured contexts can be copied.</exception>
1364     </member>
1365     <member name="M:System.Threading.ExecutionContext.Dispose">
1366       <summary>Releases all resources used by the current instance of the <see cref="T:System.Threading.ExecutionContext"></see> class.</summary>
1367     </member>
1368     <member name="M:System.Threading.ExecutionContext.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
1369       <summary>Sets the specified <see cref="T:System.Runtime.Serialization.SerializationInfo"></see> object with the logical context information needed to recreate an instance of the current execution context.</summary>
1370       <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"></see> object to be populated with serialization information.</param>
1371       <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"></see> structure representing the destination context of the serialization.</param>
1372       <exception cref="T:System.ArgumentNullException"><paramref name="info">info</paramref> is <see langword="null"></see>.</exception>
1373     </member>
1374     <member name="M:System.Threading.ExecutionContext.IsFlowSuppressed">
1375       <summary>Indicates whether the flow of the execution context is currently suppressed.</summary>
1376       <returns><see langword="true"></see> if the flow is suppressed; otherwise, <see langword="false"></see>.</returns>
1377     </member>
1378     <member name="M:System.Threading.ExecutionContext.RestoreFlow">
1379       <summary>Restores the flow of the execution context across asynchronous threads.</summary>
1380       <exception cref="T:System.InvalidOperationException">The context flow cannot be restored because it is not being suppressed.</exception>
1381     </member>
1382     <member name="M:System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext,System.Threading.ContextCallback,System.Object)">
1383       <summary>Runs a method in a specified execution context on the current thread.</summary>
1384       <param name="executionContext">The <see cref="T:System.Threading.ExecutionContext"></see> to set.</param>
1385       <param name="callback">A <see cref="T:System.Threading.ContextCallback"></see> delegate that represents the method to be run in the provided execution context.</param>
1386       <param name="state">The object to pass to the callback method.</param>
1387       <exception cref="T:System.InvalidOperationException"><paramref name="executionContext">executionContext</paramref> is <see langword="null"></see>.  
1388  -or-  
1389  <paramref name="executionContext">executionContext</paramref> was not acquired through a capture operation.  
1390  -or-  
1391  <paramref name="executionContext">executionContext</paramref> has already been used as the argument to a <see cref="System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext,System.Threading.ContextCallback,System.Object)"></see> call.</exception>
1392     </member>
1393     <member name="M:System.Threading.ExecutionContext.SuppressFlow">
1394       <summary>Suppresses the flow of the execution context across asynchronous threads.</summary>
1395       <returns>An <see cref="T:System.Threading.AsyncFlowControl"></see> structure for restoring the flow.</returns>
1396       <exception cref="T:System.InvalidOperationException">The context flow is already suppressed.</exception>
1397     </member>
1398     <member name="T:System.Threading.EventWaitHandle">
1399       <summary>Represents a thread synchronization event.</summary>
1400     </member>
1401     <member name="M:System.Threading.EventWaitHandle.#ctor(System.Boolean,System.Threading.EventResetMode)">
1402       <summary>Initializes a new instance of the <see cref="T:System.Threading.EventWaitHandle"></see> class, specifying whether the wait handle is initially signaled, and whether it resets automatically or manually.</summary>
1403       <param name="initialState"><see langword="true"></see> to set the initial state to signaled; <see langword="false"></see> to set it to nonsignaled.</param>
1404       <param name="mode">One of the <see cref="T:System.Threading.EventResetMode"></see> values that determines whether the event resets automatically or manually.</param>
1405     </member>
1406     <member name="M:System.Threading.EventWaitHandle.#ctor(System.Boolean,System.Threading.EventResetMode,System.String)">
1407       <summary>Initializes a new instance of the <see cref="T:System.Threading.EventWaitHandle"></see> 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.</summary>
1408       <param name="initialState"><see langword="true"></see> to set the initial state to signaled if the named event is created as a result of this call; <see langword="false"></see> to set it to nonsignaled.</param>
1409       <param name="mode">One of the <see cref="T:System.Threading.EventResetMode"></see> values that determines whether the event resets automatically or manually.</param>
1410       <param name="name">The name of a system-wide synchronization event.</param>
1411       <exception cref="T:System.IO.IOException">A Win32 error occurred.</exception>
1412       <exception cref="T:System.UnauthorizedAccessException">The named event exists and has access control security, but the user does not have <see cref="System.Security.AccessControl.EventWaitHandleRights.FullControl"></see>.</exception>
1413       <exception cref="T:System.Threading.WaitHandleCannotBeOpenedException">The named event cannot be created, perhaps because a wait handle of a different type has the same name.</exception>
1414       <exception cref="T:System.ArgumentException"><paramref name="name">name</paramref> is longer than 260 characters.</exception>
1415     </member>
1416     <member name="M:System.Threading.EventWaitHandle.#ctor(System.Boolean,System.Threading.EventResetMode,System.String,System.Boolean@)">
1417       <summary>Initializes a new instance of the <see cref="T:System.Threading.EventWaitHandle"></see> 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.</summary>
1418       <param name="initialState"><see langword="true"></see> to set the initial state to signaled if the named event is created as a result of this call; <see langword="false"></see> to set it to nonsignaled.</param>
1419       <param name="mode">One of the <see cref="T:System.Threading.EventResetMode"></see> values that determines whether the event resets automatically or manually.</param>
1420       <param name="name">The name of a system-wide synchronization event.</param>
1421       <param name="createdNew">When this method returns, contains <see langword="true"></see> if a local event was created (that is, if name is <see langword="null"></see> or an empty string) or if the specified named system event was created; <see langword="false"></see> if the specified named system event already existed. This parameter is passed uninitialized.</param>
1422       <exception cref="T:System.IO.IOException">A Win32 error occurred.</exception>
1423       <exception cref="T:System.UnauthorizedAccessException">The named event exists and has access control security, but the user does not have <see cref="System.Security.AccessControl.EventWaitHandleRights.FullControl"></see>.</exception>
1424       <exception cref="T:System.Threading.WaitHandleCannotBeOpenedException">The named event cannot be created, perhaps because a wait handle of a different type has the same name.</exception>
1425       <exception cref="T:System.ArgumentException"><paramref name="name">name</paramref> is longer than 260 characters.</exception>
1426     </member>
1427     <member name="M:System.Threading.EventWaitHandle.OpenExisting(System.String)">
1428       <summary>Opens the specified named synchronization event, if it already exists.</summary>
1429       <param name="name">The name of the system synchronization event to open.</param>
1430       <returns>An  object that represents the named system event.</returns>
1431       <exception cref="T:System.ArgumentException"><paramref name="name">name</paramref> is an empty string.  
1432  -or-  
1433  <paramref name="name">name</paramref> is longer than 260 characters.</exception>
1434       <exception cref="T:System.ArgumentNullException"><paramref name="name">name</paramref> is <see langword="null"></see>.</exception>
1435       <exception cref="T:System.Threading.WaitHandleCannotBeOpenedException">The named system event does not exist.</exception>
1436       <exception cref="T:System.IO.IOException">A Win32 error occurred.</exception>
1437       <exception cref="T:System.UnauthorizedAccessException">The named event exists, but the user does not have the security access required to use it.</exception>
1438     </member>
1439     <member name="M:System.Threading.EventWaitHandle.Reset">
1440       <summary>Sets the state of the event to nonsignaled, causing threads to block.</summary>
1441       <returns><see langword="true"></see> if the operation succeeds; otherwise, <see langword="false"></see>.</returns>
1442       <exception cref="T:System.ObjectDisposedException">The <see cref="System.Threading.WaitHandle.Close"></see> method was previously called on this <see cref="System.Threading.EventWaitHandle"></see>.</exception>
1443     </member>
1444     <member name="M:System.Threading.EventWaitHandle.Set">
1445       <summary>Sets the state of the event to signaled, allowing one or more waiting threads to proceed.</summary>
1446       <returns><see langword="true"></see> if the operation succeeds; otherwise, <see langword="false"></see>.</returns>
1447       <exception cref="T:System.ObjectDisposedException">The <see cref="System.Threading.WaitHandle.Close"></see> method was previously called on this <see cref="System.Threading.EventWaitHandle"></see>.</exception>
1448     </member>
1449     <member name="M:System.Threading.EventWaitHandle.TryOpenExisting(System.String,System.Threading.EventWaitHandle@)">
1450       <summary>Opens the specified named synchronization event, if it already exists, and returns a value that indicates whether the operation succeeded.</summary>
1451       <param name="name">The name of the system synchronization event to open.</param>
1452       <param name="result">When this method returns, contains a <see cref="T:System.Threading.EventWaitHandle"></see> object that represents the named synchronization event if the call succeeded, or <see langword="null"></see> if the call failed. This parameter is treated as uninitialized.</param>
1453       <returns><see langword="true"></see> if the named synchronization event was opened successfully; otherwise, <see langword="false"></see>.</returns>
1454       <exception cref="T:System.ArgumentException"><paramref name="name">name</paramref> is an empty string.  
1455  -or-  
1456  <paramref name="name">name</paramref> is longer than 260 characters.</exception>
1457       <exception cref="T:System.ArgumentNullException"><paramref name="name">name</paramref> is <see langword="null"></see>.</exception>
1458       <exception cref="T:System.IO.IOException">A Win32 error occurred.</exception>
1459       <exception cref="T:System.UnauthorizedAccessException">The named event exists, but the user does not have the desired security access.</exception>
1460     </member>
1461     <member name="T:System.Threading.EventResetMode">
1462       <summary>Indicates whether an <see cref="T:System.Threading.EventWaitHandle"></see> is reset automatically or manually after receiving a signal.</summary>
1463     </member>
1464     <member name="F:System.Threading.EventResetMode.AutoReset">
1465       <summary>When signaled, the <see cref="T:System.Threading.EventWaitHandle"></see> resets automatically after releasing a single thread. If no threads are waiting, the <see cref="T:System.Threading.EventWaitHandle"></see> remains signaled until a thread blocks, and resets after releasing the thread.</summary>
1466       <returns></returns>
1467     </member>
1468     <member name="F:System.Threading.EventResetMode.ManualReset">
1469       <summary>When signaled, the <see cref="T:System.Threading.EventWaitHandle"></see> releases all waiting threads and remains signaled until it is manually reset.</summary>
1470       <returns></returns>
1471     </member>
1472     <member name="T:System.Threading.CountdownEvent">
1473       <summary>Represents a synchronization primitive that is signaled when its count reaches zero.</summary>
1474     </member>
1475     <member name="M:System.Threading.CountdownEvent.#ctor(System.Int32)">
1476       <summary>Initializes a new instance of <see cref="T:System.Threading.CountdownEvent"></see> class with the specified count.</summary>
1477       <param name="initialCount">The number of signals initially required to set the <see cref="T:System.Threading.CountdownEvent"></see>.</param>
1478       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="initialCount">initialCount</paramref> is less than 0.</exception>
1479     </member>
1480     <member name="M:System.Threading.CountdownEvent.AddCount">
1481       <summary>Increments the <see cref="T:System.Threading.CountdownEvent"></see>&amp;#39;s current count by one.</summary>
1482       <exception cref="T:System.ObjectDisposedException">The current instance has already been disposed.</exception>
1483       <exception cref="T:System.InvalidOperationException">The current instance is already set.  
1484  -or-  
1485  <see cref="System.Threading.CountdownEvent.CurrentCount"></see> is equal to or greater than <see cref="System.Int32.MaxValue"></see>.</exception>
1486     </member>
1487     <member name="M:System.Threading.CountdownEvent.AddCount(System.Int32)">
1488       <summary>Increments the <see cref="T:System.Threading.CountdownEvent"></see>&amp;#39;s current count by a specified value.</summary>
1489       <param name="signalCount">The value by which to increase <see cref="P:System.Threading.CountdownEvent.CurrentCount"></see>.</param>
1490       <exception cref="T:System.ObjectDisposedException">The current instance has already been disposed.</exception>
1491       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="signalCount">signalCount</paramref> is less than or equal to 0.</exception>
1492       <exception cref="T:System.InvalidOperationException">The current instance is already set.  
1493  -or-  
1494  <see cref="System.Threading.CountdownEvent.CurrentCount"></see> is equal to or greater than <see cref="System.Int32.MaxValue"></see> after count is incremented by <paramref name="signalCount.">signalCount.</paramref></exception>
1495     </member>
1496     <member name="P:System.Threading.CountdownEvent.CurrentCount">
1497       <summary>Gets the number of remaining signals required to set the event.</summary>
1498       <returns>The number of remaining signals required to set the event.</returns>
1499     </member>
1500     <member name="M:System.Threading.CountdownEvent.Dispose">
1501       <summary>Releases all resources used by the current instance of the <see cref="T:System.Threading.CountdownEvent"></see> class.</summary>
1502     </member>
1503     <member name="M:System.Threading.CountdownEvent.Dispose(System.Boolean)">
1504       <summary>Releases the unmanaged resources used by the <see cref="T:System.Threading.CountdownEvent"></see>, and optionally releases the managed resources.</summary>
1505       <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
1506     </member>
1507     <member name="P:System.Threading.CountdownEvent.InitialCount">
1508       <summary>Gets the numbers of signals initially required to set the event.</summary>
1509       <returns>The number of signals initially required to set the event.</returns>
1510     </member>
1511     <member name="P:System.Threading.CountdownEvent.IsSet">
1512       <summary>Indicates whether the <see cref="T:System.Threading.CountdownEvent"></see> object&amp;#39;s current count has reached zero..</summary>
1513       <returns><see langword="true"></see> if the current count is zero; otherwise, <see langword="false"></see>.</returns>
1514     </member>
1515     <member name="M:System.Threading.CountdownEvent.Reset">
1516       <summary>Resets the <see cref="P:System.Threading.CountdownEvent.CurrentCount"></see> to the value of <see cref="P:System.Threading.CountdownEvent.InitialCount"></see>.</summary>
1517       <exception cref="T:System.ObjectDisposedException">The current instance has already been disposed..</exception>
1518     </member>
1519     <member name="M:System.Threading.CountdownEvent.Reset(System.Int32)">
1520       <summary>Resets the <see cref="P:System.Threading.CountdownEvent.InitialCount"></see> property to a specified value.</summary>
1521       <param name="count">The number of signals required to set the <see cref="T:System.Threading.CountdownEvent"></see>.</param>
1522       <exception cref="T:System.ObjectDisposedException">The current instance has alread been disposed.</exception>
1523       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="count">count</paramref> is less than 0.</exception>
1524     </member>
1525     <member name="M:System.Threading.CountdownEvent.Signal(System.Int32)">
1526       <summary>Registers multiple signals with the <see cref="T:System.Threading.CountdownEvent"></see>, decrementing the value of <see cref="P:System.Threading.CountdownEvent.CurrentCount"></see> by the specified amount.</summary>
1527       <param name="signalCount">The number of signals to register.</param>
1528       <returns>true if the signals caused the count to reach zero and the event was set; otherwise, false.</returns>
1529       <exception cref="T:System.ObjectDisposedException">The current instance has already been disposed.</exception>
1530       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="signalCount">signalCount</paramref> is less than 1.</exception>
1531       <exception cref="T:System.InvalidOperationException">The current instance is already set. -or- Or <paramref name="signalCount">signalCount</paramref> is greater than <see cref="System.Threading.CountdownEvent.CurrentCount"></see>.</exception>
1532     </member>
1533     <member name="M:System.Threading.CountdownEvent.Signal">
1534       <summary>Registers a signal with the <see cref="T:System.Threading.CountdownEvent"></see>, decrementing the value of <see cref="P:System.Threading.CountdownEvent.CurrentCount"></see>.</summary>
1535       <returns>true if the signal caused the count to reach zero and the event was set; otherwise, false.</returns>
1536       <exception cref="T:System.ObjectDisposedException">The current instance has already been disposed.</exception>
1537       <exception cref="T:System.InvalidOperationException">The current instance is already set.</exception>
1538     </member>
1539     <member name="M:System.Threading.CountdownEvent.TryAddCount">
1540       <summary>Attempts to increment <see cref="P:System.Threading.CountdownEvent.CurrentCount"></see> by one.</summary>
1541       <returns>true if the increment succeeded; otherwise, false. If <see cref="P:System.Threading.CountdownEvent.CurrentCount"></see> is already at zero, this method will return false.</returns>
1542       <exception cref="T:System.ObjectDisposedException">The current instance has already been disposed.</exception>
1543       <exception cref="T:System.InvalidOperationException"><see cref="System.Threading.CountdownEvent.CurrentCount"></see> is equal to <see cref="System.Int32.MaxValue"></see>.</exception>
1544     </member>
1545     <member name="M:System.Threading.CountdownEvent.TryAddCount(System.Int32)">
1546       <summary>Attempts to increment <see cref="P:System.Threading.CountdownEvent.CurrentCount"></see> by a specified value.</summary>
1547       <param name="signalCount">The value by which to increase <see cref="P:System.Threading.CountdownEvent.CurrentCount"></see>.</param>
1548       <returns>true if the increment succeeded; otherwise, false. If <see cref="P:System.Threading.CountdownEvent.CurrentCount"></see> is already at zero this will return false.</returns>
1549       <exception cref="T:System.ObjectDisposedException">The current instance has already been disposed.</exception>
1550       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="signalCount">signalCount</paramref> is less than or equal to 0.</exception>
1551       <exception cref="T:System.InvalidOperationException">The current instance is already set.  
1552  -or-  
1553  <see cref="System.Threading.CountdownEvent.CurrentCount"></see> + <paramref name="signalCount">signalCount</paramref> is equal to or greater than <see cref="System.Int32.MaxValue"></see>.</exception>
1554     </member>
1555     <member name="M:System.Threading.CountdownEvent.Wait">
1556       <summary>Blocks the current thread until the <see cref="T:System.Threading.CountdownEvent"></see> is set.</summary>
1557       <exception cref="T:System.ObjectDisposedException">The current instance has already been disposed.</exception>
1558     </member>
1559     <member name="M:System.Threading.CountdownEvent.Wait(System.Int32)">
1560       <summary>Blocks the current thread until the <see cref="T:System.Threading.CountdownEvent"></see> is set, using a 32-bit signed integer to measure the timeout.</summary>
1561       <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"></see>(-1) to wait indefinitely.</param>
1562       <returns>true if the <see cref="T:System.Threading.CountdownEvent"></see> was set; otherwise, false.</returns>
1563       <exception cref="T:System.ObjectDisposedException">The current instance has already been disposed.</exception>
1564       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="millisecondsTimeout">millisecondsTimeout</paramref> is a negative number other than -1, which represents an infinite time-out.</exception>
1565     </member>
1566     <member name="M:System.Threading.CountdownEvent.Wait(System.Threading.CancellationToken)">
1567       <summary>Blocks the current thread until the <see cref="T:System.Threading.CountdownEvent"></see> is set, while observing a <see cref="T:System.Threading.CancellationToken"></see>.</summary>
1568       <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"></see> to observe.</param>
1569       <exception cref="T:System.OperationCanceledException"><paramref name="cancellationToken">cancellationToken</paramref> has been canceled.</exception>
1570       <exception cref="T:System.ObjectDisposedException">The current instance has already been disposed. -or- The <see cref="System.Threading.CancellationTokenSource"></see> that created <paramref name="cancellationToken">cancellationToken</paramref> has already been disposed.</exception>
1571     </member>
1572     <member name="M:System.Threading.CountdownEvent.Wait(System.TimeSpan)">
1573       <summary>Blocks the current thread until the <see cref="T:System.Threading.CountdownEvent"></see> is set, using a <see cref="T:System.TimeSpan"></see> to measure the timeout.</summary>
1574       <param name="timeout">A <see cref="T:System.TimeSpan"></see> that represents the number of milliseconds to wait, or a <see cref="T:System.TimeSpan"></see> that represents -1 milliseconds to wait indefinitely.</param>
1575       <returns>true if the <see cref="T:System.Threading.CountdownEvent"></see> was set; otherwise, false.</returns>
1576       <exception cref="T:System.ObjectDisposedException">The current instance has already been disposed.</exception>
1577       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="timeout">timeout</paramref> is a negative number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than <see cref="System.Int32.MaxValue"></see>.</exception>
1578     </member>
1579     <member name="M:System.Threading.CountdownEvent.Wait(System.Int32,System.Threading.CancellationToken)">
1580       <summary>Blocks the current thread until the <see cref="T:System.Threading.CountdownEvent"></see> is set, using a 32-bit signed integer to measure the timeout, while observing a <see cref="T:System.Threading.CancellationToken"></see>.</summary>
1581       <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"></see>(-1) to wait indefinitely.</param>
1582       <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"></see> to observe.</param>
1583       <returns>true if the <see cref="T:System.Threading.CountdownEvent"></see> was set; otherwise, false.</returns>
1584       <exception cref="T:System.OperationCanceledException"><paramref name="cancellationToken">cancellationToken</paramref> has been canceled.</exception>
1585       <exception cref="T:System.ObjectDisposedException">The current instance has already been disposed. -or- The <see cref="System.Threading.CancellationTokenSource"></see> that created <paramref name="cancellationToken">cancellationToken</paramref> has already been disposed.</exception>
1586       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="millisecondsTimeout">millisecondsTimeout</paramref> is a negative number other than -1, which represents an infinite time-out.</exception>
1587     </member>
1588     <member name="M:System.Threading.CountdownEvent.Wait(System.TimeSpan,System.Threading.CancellationToken)">
1589       <summary>Blocks the current thread until the <see cref="T:System.Threading.CountdownEvent"></see> is set, using a <see cref="T:System.TimeSpan"></see> to measure the timeout, while observing a <see cref="T:System.Threading.CancellationToken"></see>.</summary>
1590       <param name="timeout">A <see cref="T:System.TimeSpan"></see> that represents the number of milliseconds to wait, or a <see cref="T:System.TimeSpan"></see> that represents -1 milliseconds to wait indefinitely.</param>
1591       <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"></see> to observe.</param>
1592       <returns>true if the <see cref="T:System.Threading.CountdownEvent"></see> was set; otherwise, false.</returns>
1593       <exception cref="T:System.OperationCanceledException"><paramref name="cancellationToken">cancellationToken</paramref> has been canceled.</exception>
1594       <exception cref="T:System.ObjectDisposedException">The current instance has already been disposed. -or- The <see cref="System.Threading.CancellationTokenSource"></see> that created <paramref name="cancellationToken">cancellationToken</paramref> has already been disposed.</exception>
1595       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="timeout">timeout</paramref> is a negative number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than <see cref="System.Int32.MaxValue"></see>.</exception>
1596     </member>
1597     <member name="P:System.Threading.CountdownEvent.WaitHandle">
1598       <summary>Gets a <see cref="T:System.Threading.WaitHandle"></see> that is used to wait for the event to be set.</summary>
1599       <returns>A <see cref="T:System.Threading.WaitHandle"></see> that is used to wait for the event to be set.</returns>
1600       <exception cref="T:System.ObjectDisposedException">The current instance has already been disposed.</exception>
1601     </member>
1602     <member name="T:System.Threading.ContextCallback">
1603       <summary>Represents a method to be called within a new context.</summary>
1604       <param name="state">An object containing information to be used by the callback method each time it executes.</param>
1605     </member>
1606     <member name="T:System.Threading.BarrierPostPhaseException">
1607       <summary>The exception that is thrown when the post-phase action of a <see cref="T:System.Threading.Barrier"></see> fails</summary>
1608     </member>
1609     <member name="M:System.Threading.BarrierPostPhaseException.#ctor">
1610       <summary>Initializes a new instance of the <see cref="T:System.Threading.BarrierPostPhaseException"></see> class with a system-supplied message that describes the error.</summary>
1611     </member>
1612     <member name="M:System.Threading.BarrierPostPhaseException.#ctor(System.Exception)">
1613       <summary>Initializes a new instance of the <see cref="T:System.Threading.BarrierPostPhaseException"></see> class with the specified inner exception.</summary>
1614       <param name="innerException">The exception that is the cause of the current exception.</param>
1615     </member>
1616     <member name="M:System.Threading.BarrierPostPhaseException.#ctor(System.String)">
1617       <summary>Initializes a new instance of the <see cref="T:System.Threading.BarrierPostPhaseException"></see> class with a specified message that describes the error.</summary>
1618       <param name="message">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.</param>
1619     </member>
1620     <member name="M:System.Threading.BarrierPostPhaseException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
1621       <summary>Initializes a new instance of the <see cref="T:System.Threading.BarrierPostPhaseException"></see> class with serialized data.</summary>
1622       <param name="info">The object that holds the serialized object data.</param>
1623       <param name="context">The contextual information about the source or destination.</param>
1624     </member>
1625     <member name="M:System.Threading.BarrierPostPhaseException.#ctor(System.String,System.Exception)">
1626       <summary>Initializes a new instance of the <see cref="T:System.Threading.BarrierPostPhaseException"></see> class with a specified error message and a reference to the inner exception that is the cause of this exception.</summary>
1627       <param name="message">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.</param>
1628       <param name="innerException">The exception that is the cause of the current exception. If the innerException parameter is not <see langword="null"></see>, the current exception is raised in a <see langword="catch"></see> block that handles the inner exception.</param>
1629     </member>
1630     <member name="T:System.Threading.Barrier">
1631       <summary>Enables multiple tasks to cooperatively work on an algorithm in parallel through multiple phases.</summary>
1632     </member>
1633     <member name="M:System.Threading.Barrier.#ctor(System.Int32)">
1634       <summary>Initializes a new instance of the <see cref="T:System.Threading.Barrier"></see> class.</summary>
1635       <param name="participantCount">The number of participating threads.</param>
1636       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="participantCount">participantCount</paramref> is less than 0 or greater than 32,767.</exception>
1637     </member>
1638     <member name="M:System.Threading.Barrier.#ctor(System.Int32,System.Action{System.Threading.Barrier})">
1639       <summary>Initializes a new instance of the <see cref="T:System.Threading.Barrier"></see> class.</summary>
1640       <param name="participantCount">The number of participating threads.</param>
1641       <param name="postPhaseAction">The <see cref="T:System.Action`1"></see> to be executed after each phase. null (Nothing in Visual Basic) may be passed to indicate no action is taken.</param>
1642       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="participantCount">participantCount</paramref> is less than 0 or greater than 32,767.</exception>
1643     </member>
1644     <member name="M:System.Threading.Barrier.AddParticipant">
1645       <summary>Notifies the <see cref="T:System.Threading.Barrier"></see> that there will be an additional participant.</summary>
1646       <returns>The phase number of the barrier in which the new participants will first participate.</returns>
1647       <exception cref="T:System.ObjectDisposedException">The current instance has already been disposed.</exception>
1648       <exception cref="T:System.InvalidOperationException">Adding a participant would cause the barrier&amp;#39;s participant count to exceed 32,767.  
1649  -or-  
1650  The method was invoked from within a post-phase action.</exception>
1651     </member>
1652     <member name="M:System.Threading.Barrier.AddParticipants(System.Int32)">
1653       <summary>Notifies the <see cref="T:System.Threading.Barrier"></see> that there will be additional participants.</summary>
1654       <param name="participantCount">The number of additional participants to add to the barrier.</param>
1655       <returns>The phase number of the barrier in which the new participants will first participate.</returns>
1656       <exception cref="T:System.ObjectDisposedException">The current instance has already been disposed.</exception>
1657       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="participantCount">participantCount</paramref> is less than 0.  
1658  -or-  
1659  Adding <paramref name="participantCount">participantCount</paramref> participants would cause the barrier&amp;#39;s participant count to exceed 32,767.</exception>
1660       <exception cref="T:System.InvalidOperationException">The method was invoked from within a post-phase action.</exception>
1661     </member>
1662     <member name="P:System.Threading.Barrier.CurrentPhaseNumber">
1663       <summary>Gets the number of the barrier&amp;#39;s current phase.</summary>
1664       <returns>Returns the number of the barrier&amp;#39;s current phase.</returns>
1665     </member>
1666     <member name="M:System.Threading.Barrier.Dispose">
1667       <summary>Releases all resources used by the current instance of the <see cref="T:System.Threading.Barrier"></see> class.</summary>
1668       <exception cref="T:System.InvalidOperationException">The method was invoked from within a post-phase action.</exception>
1669     </member>
1670     <member name="M:System.Threading.Barrier.Dispose(System.Boolean)">
1671       <summary>Releases the unmanaged resources used by the <see cref="T:System.Threading.Barrier"></see>, and optionally releases the managed resources.</summary>
1672       <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
1673     </member>
1674     <member name="P:System.Threading.Barrier.ParticipantCount">
1675       <summary>Gets the total number of participants in the barrier.</summary>
1676       <returns>Returns the total number of participants in the barrier.</returns>
1677     </member>
1678     <member name="P:System.Threading.Barrier.ParticipantsRemaining">
1679       <summary>Gets the number of participants in the barrier that haven’t yet signaled in the current phase.</summary>
1680       <returns>Returns the number of participants in the barrier that haven’t yet signaled in the current phase.</returns>
1681     </member>
1682     <member name="M:System.Threading.Barrier.RemoveParticipant">
1683       <summary>Notifies the <see cref="T:System.Threading.Barrier"></see> that there will be one less participant.</summary>
1684       <exception cref="T:System.ObjectDisposedException">The current instance has already been disposed.</exception>
1685       <exception cref="T:System.InvalidOperationException">The barrier already has 0 participants.  
1686  -or-  
1687  The method was invoked from within a post-phase action.</exception>
1688     </member>
1689     <member name="M:System.Threading.Barrier.RemoveParticipants(System.Int32)">
1690       <summary>Notifies the <see cref="T:System.Threading.Barrier"></see> that there will be fewer participants.</summary>
1691       <param name="participantCount">The number of additional participants to remove from the barrier.</param>
1692       <exception cref="T:System.ObjectDisposedException">The current instance has already been disposed.</exception>
1693       <exception cref="T:System.ArgumentOutOfRangeException">The total participant count is less than the specified <paramref name="participantCount">participantCount</paramref></exception>
1694       <exception cref="T:System.InvalidOperationException">The barrier already has 0 participants.  
1695  -or-  
1696  The method was invoked from within a post-phase action.  
1697  -or-  
1698  current participant count is less than the specified participantCount</exception>
1699     </member>
1700     <member name="M:System.Threading.Barrier.SignalAndWait">
1701       <summary>Signals that a participant has reached the barrier and waits for all other participants to reach the barrier as well.</summary>
1702       <exception cref="T:System.ObjectDisposedException">The current instance has already been disposed.</exception>
1703       <exception cref="T:System.InvalidOperationException">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.</exception>
1704       <exception cref="T:System.Threading.BarrierPostPhaseException">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.</exception>
1705     </member>
1706     <member name="M:System.Threading.Barrier.SignalAndWait(System.Int32)">
1707       <summary>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.</summary>
1708       <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"></see>(-1) to wait indefinitely.</param>
1709       <returns>if all participants reached the barrier within the specified time; otherwise false.</returns>
1710       <exception cref="T:System.ObjectDisposedException">The current instance has already been disposed.</exception>
1711       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="millisecondsTimeout">millisecondsTimeout</paramref> is a negative number other than -1, which represents an infinite time-out.</exception>
1712       <exception cref="T:System.InvalidOperationException">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.</exception>
1713       <exception cref="T:System.Threading.BarrierPostPhaseException">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.</exception>
1714     </member>
1715     <member name="M:System.Threading.Barrier.SignalAndWait(System.Threading.CancellationToken)">
1716       <summary>Signals that a participant has reached the barrier and waits for all other participants to reach the barrier, while observing a cancellation token.</summary>
1717       <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"></see> to observe.</param>
1718       <exception cref="T:System.OperationCanceledException"><paramref name="cancellationToken">cancellationToken</paramref> has been canceled.</exception>
1719       <exception cref="T:System.ObjectDisposedException">The current instance has already been disposed.</exception>
1720       <exception cref="T:System.InvalidOperationException">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.</exception>
1721     </member>
1722     <member name="M:System.Threading.Barrier.SignalAndWait(System.TimeSpan)">
1723       <summary>Signals that a participant has reached the barrier and waits for all other participants to reach the barrier as well, using a <see cref="T:System.TimeSpan"></see> object to measure the time interval.</summary>
1724       <param name="timeout">A <see cref="T:System.TimeSpan"></see> that represents the number of milliseconds to wait, or a <see cref="T:System.TimeSpan"></see> that represents -1 milliseconds to wait indefinitely.</param>
1725       <returns>true if all other participants reached the barrier; otherwise, false.</returns>
1726       <exception cref="T:System.ObjectDisposedException">The current instance has already been disposed.</exception>
1727       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="timeout">timeout</paramref> is a negative number other than -1 milliseconds, which represents an infinite time-out, or it is greater than 32,767.</exception>
1728       <exception cref="T:System.InvalidOperationException">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.</exception>
1729     </member>
1730     <member name="M:System.Threading.Barrier.SignalAndWait(System.Int32,System.Threading.CancellationToken)">
1731       <summary>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.</summary>
1732       <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"></see>(-1) to wait indefinitely.</param>
1733       <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"></see> to observe.</param>
1734       <returns>if all participants reached the barrier within the specified time; otherwise false</returns>
1735       <exception cref="T:System.OperationCanceledException"><paramref name="cancellationToken">cancellationToken</paramref> has been canceled.</exception>
1736       <exception cref="T:System.ObjectDisposedException">The current instance has already been disposed.</exception>
1737       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="millisecondsTimeout">millisecondsTimeout</paramref> is a negative number other than -1, which represents an infinite time-out.</exception>
1738       <exception cref="T:System.InvalidOperationException">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.</exception>
1739     </member>
1740     <member name="M:System.Threading.Barrier.SignalAndWait(System.TimeSpan,System.Threading.CancellationToken)">
1741       <summary>Signals that a participant has reached the barrier and waits for all other participants to reach the barrier as well, using a <see cref="T:System.TimeSpan"></see> object to measure the time interval, while observing a cancellation token.</summary>
1742       <param name="timeout">A <see cref="T:System.TimeSpan"></see> that represents the number of milliseconds to wait, or a <see cref="T:System.TimeSpan"></see> that represents -1 milliseconds to wait indefinitely.</param>
1743       <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"></see> to observe.</param>
1744       <returns>true if all other participants reached the barrier; otherwise, false.</returns>
1745       <exception cref="T:System.OperationCanceledException"><paramref name="cancellationToken">cancellationToken</paramref> has been canceled.</exception>
1746       <exception cref="T:System.ObjectDisposedException">The current instance has already been disposed.</exception>
1747       <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="timeout">timeout</paramref> is a negative number other than -1 milliseconds, which represents an infinite time-out.</exception>
1748       <exception cref="T:System.InvalidOperationException">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.</exception>
1749     </member>
1750     <member name="T:System.Threading.AutoResetEvent">
1751       <summary>Notifies a waiting thread that an event has occurred. This class cannot be inherited.</summary>
1752     </member>
1753     <member name="M:System.Threading.AutoResetEvent.#ctor(System.Boolean)">
1754       <summary>Initializes a new instance of the <see cref="T:System.Threading.AutoResetEvent"></see> class with a Boolean value indicating whether to set the initial state to signaled.</summary>
1755       <param name="initialState"><see langword="true"></see> to set the initial state to signaled; <see langword="false"></see> to set the initial state to non-signaled.</param>
1756     </member>
1757     <member name="T:System.Threading.AsyncLocalValueChangedArgs`1">
1758       <summary>The class that provides data change information to <see cref="T:System.Threading.AsyncLocal`1"></see> instances that register for change notifications.</summary>
1759       <typeparam name="T">The type of the data.</typeparam>
1760     </member>
1761     <member name="P:System.Threading.AsyncLocalValueChangedArgs`1.CurrentValue">
1762       <summary>Gets the data&amp;#39;s current value.</summary>
1763       <returns>The data&amp;#39;s current value.</returns>
1764     </member>
1765     <member name="P:System.Threading.AsyncLocalValueChangedArgs`1.PreviousValue">
1766       <summary>Gets the data&amp;#39;s previous value.</summary>
1767       <returns>The data&amp;#39;s previous value.</returns>
1768     </member>
1769     <member name="P:System.Threading.AsyncLocalValueChangedArgs`1.ThreadContextChanged">
1770       <summary>Returns a value that indicates whether the value changes because of a change of execution context.</summary>
1771       <returns><see langword="true"></see> if the value changed because of a change of execution context; otherwise, <see langword="false"></see>.</returns>
1772     </member>
1773     <member name="T:System.Threading.AsyncLocal`1">
1774       <summary>Represents ambient data that is local to a given asynchronous control flow, such as an asynchronous method.</summary>
1775       <typeparam name="T">The type of the ambient data.</typeparam>
1776     </member>
1777     <member name="M:System.Threading.AsyncLocal`1.#ctor">
1778       <summary>Instantiates an <see cref="T:System.Threading.AsyncLocal`1"></see> instance that does not receive change notifications.</summary>
1779     </member>
1780     <member name="M:System.Threading.AsyncLocal`1.#ctor(System.Action{System.Threading.AsyncLocalValueChangedArgs{`0}})">
1781       <summary>Instantiates an <see cref="T:System.Threading.AsyncLocal`1"></see> local instance that receives change notifications.</summary>
1782       <param name="valueChangedHandler">The delegate that is called whenever the current value changes on any thread.</param>
1783     </member>
1784     <member name="P:System.Threading.AsyncLocal`1.Value">
1785       <summary>Gets or sets the value of the ambient data.</summary>
1786       <returns>The value of the ambient data.</returns>
1787     </member>
1788     <member name="T:System.Threading.AsyncFlowControl">
1789       <summary>Provides the functionality to restore the migration, or flow, of the execution context between threads.</summary>
1790     </member>
1791     <member name="M:System.Threading.AsyncFlowControl.Dispose">
1792       <summary>Releases all resources used by the current instance of the <see cref="T:System.Threading.AsyncFlowControl"></see> class.</summary>
1793       <exception cref="T:System.InvalidOperationException">The <see cref="System.Threading.AsyncFlowControl"></see> structure is not used on the thread where it was created.  
1794  -or-  
1795  The <see cref="System.Threading.AsyncFlowControl"></see> structure has already been used to call <see cref="System.Threading.AsyncFlowControl.Dispose"></see> or <see cref="System.Threading.AsyncFlowControl.Undo"></see>.</exception>
1796     </member>
1797     <member name="M:System.Threading.AsyncFlowControl.Equals(System.Object)">
1798       <summary>Determines whether the specified object is equal to the current <see cref="T:System.Threading.AsyncFlowControl"></see> structure.</summary>
1799       <param name="obj">An object to compare with the current structure.</param>
1800       <returns><see langword="true"></see> if <paramref name="obj">obj</paramref> is an <see cref="T:System.Threading.AsyncFlowControl"></see> structure and is equal to the current <see cref="T:System.Threading.AsyncFlowControl"></see> structure; otherwise, <see langword="false"></see>.</returns>
1801     </member>
1802     <member name="M:System.Threading.AsyncFlowControl.Equals(System.Threading.AsyncFlowControl)">
1803       <summary>Determines whether the specified <see cref="T:System.Threading.AsyncFlowControl"></see> structure is equal to the current <see cref="T:System.Threading.AsyncFlowControl"></see> structure.</summary>
1804       <param name="obj">An <see cref="T:System.Threading.AsyncFlowControl"></see> structure to compare with the current structure.</param>
1805       <returns><see langword="true"></see> if <paramref name="obj">obj</paramref> is equal to the current <see cref="T:System.Threading.AsyncFlowControl"></see> structure; otherwise, <see langword="false"></see>.</returns>
1806     </member>
1807     <member name="M:System.Threading.AsyncFlowControl.GetHashCode">
1808       <summary>Gets a hash code for the current <see cref="T:System.Threading.AsyncFlowControl"></see> structure.</summary>
1809       <returns>A hash code for the current <see cref="T:System.Threading.AsyncFlowControl"></see> structure.</returns>
1810     </member>
1811     <member name="M:System.Threading.AsyncFlowControl.op_Equality(System.Threading.AsyncFlowControl,System.Threading.AsyncFlowControl)">
1812       <summary>Compares two <see cref="T:System.Threading.AsyncFlowControl"></see> structures to determine whether they are equal.</summary>
1813       <param name="a">An <see cref="T:System.Threading.AsyncFlowControl"></see> structure.</param>
1814       <param name="b">An <see cref="T:System.Threading.AsyncFlowControl"></see> structure.</param>
1815       <returns><see langword="true"></see> if the two structures are equal; otherwise, <see langword="false"></see>.</returns>
1816     </member>
1817     <member name="M:System.Threading.AsyncFlowControl.op_Inequality(System.Threading.AsyncFlowControl,System.Threading.AsyncFlowControl)">
1818       <summary>Compares two <see cref="T:System.Threading.AsyncFlowControl"></see> structures to determine whether they are not equal.</summary>
1819       <param name="a">An <see cref="T:System.Threading.AsyncFlowControl"></see> structure.</param>
1820       <param name="b">An <see cref="T:System.Threading.AsyncFlowControl"></see> structure.</param>
1821       <returns><see langword="true"></see> if the structures are not equal; otherwise, <see langword="false"></see>.</returns>
1822     </member>
1823     <member name="M:System.Threading.AsyncFlowControl.Undo">
1824       <summary>Restores the flow of the execution context between threads.</summary>
1825       <exception cref="T:System.InvalidOperationException">The <see cref="System.Threading.AsyncFlowControl"></see> structure is not used on the thread where it was created.  
1826  -or-  
1827  The <see cref="System.Threading.AsyncFlowControl"></see> structure has already been used to call <see cref="System.Threading.AsyncFlowControl.Dispose"></see> or <see cref="System.Threading.AsyncFlowControl.Undo"></see>.</exception>
1828     </member>
1829     <member name="T:System.Threading.AbandonedMutexException">
1830       <summary>The exception that is thrown when one thread acquires a <see cref="T:System.Threading.Mutex"></see> object that another thread has abandoned by exiting without releasing it.</summary>
1831     </member>
1832     <member name="M:System.Threading.AbandonedMutexException.#ctor">
1833       <summary>Initializes a new instance of the <see cref="T:System.Threading.AbandonedMutexException"></see> class with default values.</summary>
1834     </member>
1835     <member name="M:System.Threading.AbandonedMutexException.#ctor(System.String)">
1836       <summary>Initializes a new instance of the <see cref="T:System.Threading.AbandonedMutexException"></see> class with a specified error message.</summary>
1837       <param name="message">An error message that explains the reason for the exception.</param>
1838     </member>
1839     <member name="M:System.Threading.AbandonedMutexException.#ctor(System.Int32,System.Threading.WaitHandle)">
1840       <summary>Initializes a new instance of the <see cref="T:System.Threading.AbandonedMutexException"></see> class with a specified index for the abandoned mutex, if applicable, and a <see cref="T:System.Threading.Mutex"></see> object that represents the mutex.</summary>
1841       <param name="location">The index of the abandoned mutex in the array of wait handles if the exception is thrown for the <see cref="Overload:System.Threading.WaitHandle.WaitAny"></see> method, or –1 if the exception is thrown for the <see cref="Overload:System.Threading.WaitHandle.WaitOne"></see> or <see cref="Overload:System.Threading.WaitHandle.WaitAll"></see> methods.</param>
1842       <param name="handle">A <see cref="T:System.Threading.Mutex"></see> object that represents the abandoned mutex.</param>
1843     </member>
1844     <member name="M:System.Threading.AbandonedMutexException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
1845       <summary>Initializes a new instance of the <see cref="T:System.Threading.AbandonedMutexException"></see> class with serialized data.</summary>
1846       <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"></see> object that holds the serialized object data about the exception being thrown.</param>
1847       <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"></see> object that contains contextual information about the source or destination.</param>
1848     </member>
1849     <member name="M:System.Threading.AbandonedMutexException.#ctor(System.String,System.Exception)">
1850       <summary>Initializes a new instance of the <see cref="T:System.Threading.AbandonedMutexException"></see> class with a specified error message and inner exception.</summary>
1851       <param name="message">An error message that explains the reason for the exception.</param>
1852       <param name="inner">The exception that is the cause of the current exception. If the inner parameter is not <see langword="null"></see>, the current exception is raised in a <see langword="catch"></see> block that handles the inner exception.</param>
1853     </member>
1854     <member name="M:System.Threading.AbandonedMutexException.#ctor(System.String,System.Int32,System.Threading.WaitHandle)">
1855       <summary>Initializes a new instance of the <see cref="T:System.Threading.AbandonedMutexException"></see> class with a specified error message, the index of the abandoned mutex, if applicable, and the abandoned mutex.</summary>
1856       <param name="message">An error message that explains the reason for the exception.</param>
1857       <param name="location">The index of the abandoned mutex in the array of wait handles if the exception is thrown for the <see cref="Overload:System.Threading.WaitHandle.WaitAny"></see> method, or –1 if the exception is thrown for the <see cref="Overload:System.Threading.WaitHandle.WaitOne"></see> or <see cref="Overload:System.Threading.WaitHandle.WaitAll"></see> methods.</param>
1858       <param name="handle">A <see cref="T:System.Threading.Mutex"></see> object that represents the abandoned mutex.</param>
1859     </member>
1860     <member name="M:System.Threading.AbandonedMutexException.#ctor(System.String,System.Exception,System.Int32,System.Threading.WaitHandle)">
1861       <summary>Initializes a new instance of the <see cref="T:System.Threading.AbandonedMutexException"></see> class with a specified error message, the inner exception, the index for the abandoned mutex, if applicable, and a <see cref="T:System.Threading.Mutex"></see> object that represents the mutex.</summary>
1862       <param name="message">An error message that explains the reason for the exception.</param>
1863       <param name="inner">The exception that is the cause of the current exception. If the inner parameter is not <see langword="null"></see>, the current exception is raised in a <see langword="catch"></see> block that handles the inner exception.</param>
1864       <param name="location">The index of the abandoned mutex in the array of wait handles if the exception is thrown for the <see cref="Overload:System.Threading.WaitHandle.WaitAny"></see> method, or –1 if the exception is thrown for the <see cref="Overload:System.Threading.WaitHandle.WaitOne"></see> or <see cref="Overload:System.Threading.WaitHandle.WaitAll"></see> methods.</param>
1865       <param name="handle">A <see cref="T:System.Threading.Mutex"></see> object that represents the abandoned mutex.</param>
1866     </member>
1867     <member name="P:System.Threading.AbandonedMutexException.Mutex">
1868       <summary>Gets the abandoned mutex that caused the exception, if known.</summary>
1869       <returns>A <see cref="T:System.Threading.Mutex"></see> object that represents the abandoned mutex, or <see langword="null"></see> if the abandoned mutex could not be identified.</returns>
1870     </member>
1871     <member name="P:System.Threading.AbandonedMutexException.MutexIndex">
1872       <summary>Gets the index of the abandoned mutex that caused the exception, if known.</summary>
1873       <returns>The index, in the array of wait handles passed to the <see cref="Overload:System.Threading.WaitHandle.WaitAny"></see> method, of the <see cref="T:System.Threading.Mutex"></see> object that represents the abandoned mutex, or –1 if the index of the abandoned mutex could not be determined.</returns>
1874     </member>
1875     <member name="T:System.Threading.WaitHandleCannotBeOpenedException">
1876       <summary>The exception that is thrown when an attempt is made to open a system mutex, semaphore, or event wait handle that does not exist.</summary>
1877     </member>
1878     <member name="M:System.Threading.WaitHandleCannotBeOpenedException.#ctor">
1879       <summary>Initializes a new instance of the <see cref="T:System.Threading.WaitHandleCannotBeOpenedException"></see> class with default values.</summary>
1880     </member>
1881     <member name="M:System.Threading.WaitHandleCannotBeOpenedException.#ctor(System.String)">
1882       <summary>Initializes a new instance of the <see cref="T:System.Threading.WaitHandleCannotBeOpenedException"></see> class with a specified error message.</summary>
1883       <param name="message">The error message that explains the reason for the exception.</param>
1884     </member>
1885     <member name="M:System.Threading.WaitHandleCannotBeOpenedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
1886       <summary>Initializes a new instance of the <see cref="T:System.Threading.WaitHandleCannotBeOpenedException"></see> class with serialized data.</summary>
1887       <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"></see> object that holds the serialized object data about the exception being thrown.</param>
1888       <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"></see> object that contains contextual information about the source or destination.</param>
1889     </member>
1890     <member name="M:System.Threading.WaitHandleCannotBeOpenedException.#ctor(System.String,System.Exception)">
1891       <summary>Initializes a new instance of the <see cref="T:System.Threading.WaitHandleCannotBeOpenedException"></see> class with a specified error message and a reference to the inner exception that is the cause of this exception.</summary>
1892       <param name="message">The error message that explains the reason for the exception.</param>
1893       <param name="innerException">The exception that is the cause of the current exception. If the innerException parameter is not <see langword="null"></see>, the current exception is raised in a <see langword="catch"></see> block that handles the inner exception.</param>
1894     </member>
1895     <member name="T:System.Threading.Volatile">
1896       <summary>Contains methods for performing volatile memory operations.</summary>
1897     </member>
1898     <member name="M:System.Threading.Volatile.Read(System.Boolean@)">
1899       <summary>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.</summary>
1900       <param name="location">The field to read.</param>
1901       <returns>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.</returns>
1902     </member>
1903     <member name="M:System.Threading.Volatile.Read(System.Byte@)">
1904       <summary>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.</summary>
1905       <param name="location">The field to read.</param>
1906       <returns>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.</returns>
1907     </member>
1908     <member name="M:System.Threading.Volatile.Read(System.Double@)">
1909       <summary>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.</summary>
1910       <param name="location">The field to read.</param>
1911       <returns>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.</returns>
1912     </member>
1913     <member name="M:System.Threading.Volatile.Read(System.Int16@)">
1914       <summary>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.</summary>
1915       <param name="location">The field to read.</param>
1916       <returns>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.</returns>
1917     </member>
1918     <member name="M:System.Threading.Volatile.Read(System.Int32@)">
1919       <summary>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.</summary>
1920       <param name="location">The field to read.</param>
1921       <returns>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.</returns>
1922     </member>
1923     <member name="M:System.Threading.Volatile.Read(System.Int64@)">
1924       <summary>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.</summary>
1925       <param name="location">The field to read.</param>
1926       <returns>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.</returns>
1927     </member>
1928     <member name="M:System.Threading.Volatile.Read(System.IntPtr@)">
1929       <summary>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.</summary>
1930       <param name="location">The field to read.</param>
1931       <returns>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.</returns>
1932     </member>
1933     <member name="M:System.Threading.Volatile.Read(System.SByte@)">
1934       <summary>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.</summary>
1935       <param name="location">The field to read.</param>
1936       <returns>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.</returns>
1937     </member>
1938     <member name="M:System.Threading.Volatile.Read(System.Single@)">
1939       <summary>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.</summary>
1940       <param name="location">The field to read.</param>
1941       <returns>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.</returns>
1942     </member>
1943     <member name="M:System.Threading.Volatile.Read(System.UInt16@)">
1944       <summary>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.</summary>
1945       <param name="location">The field to read.</param>
1946       <returns>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.</returns>
1947     </member>
1948     <member name="M:System.Threading.Volatile.Read(System.UInt32@)">
1949       <summary>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.</summary>
1950       <param name="location">The field to read.</param>
1951       <returns>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.</returns>
1952     </member>
1953     <member name="M:System.Threading.Volatile.Read(System.UInt64@)">
1954       <summary>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.</summary>
1955       <param name="location">The field to read.</param>
1956       <returns>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.</returns>
1957     </member>
1958     <member name="M:System.Threading.Volatile.Read(System.UIntPtr@)">
1959       <summary>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.</summary>
1960       <param name="location">The field to read.</param>
1961       <returns>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.</returns>
1962     </member>
1963     <member name="M:System.Threading.Volatile.Read``1(``0@)">
1964       <summary>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.</summary>
1965       <param name="location">The field to read.</param>
1966       <typeparam name="T">The type of field to read. This must be a reference type, not a value type.</typeparam>
1967       <returns>The reference to <paramref name="T">T</paramref> 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.</returns>
1968     </member>
1969     <member name="M:System.Threading.Volatile.Write(System.Boolean@,System.Boolean)">
1970       <summary>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.</summary>
1971       <param name="location">The field where the value is written.</param>
1972       <param name="value">The value to write. The value is written immediately so that it is visible to all processors in the computer.</param>
1973     </member>
1974     <member name="M:System.Threading.Volatile.Write(System.Byte@,System.Byte)">
1975       <summary>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.</summary>
1976       <param name="location">The field where the value is written.</param>
1977       <param name="value">The value to write. The value is written immediately so that it is visible to all processors in the computer.</param>
1978     </member>
1979     <member name="M:System.Threading.Volatile.Write(System.Double@,System.Double)">
1980       <summary>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.</summary>
1981       <param name="location">The field where the value is written.</param>
1982       <param name="value">The value to write. The value is written immediately so that it is visible to all processors in the computer.</param>
1983     </member>
1984     <member name="M:System.Threading.Volatile.Write(System.Int16@,System.Int16)">
1985       <summary>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.</summary>
1986       <param name="location">The field where the value is written.</param>
1987       <param name="value">The value to write. The value is written immediately so that it is visible to all processors in the computer.</param>
1988     </member>
1989     <member name="M:System.Threading.Volatile.Write(System.Int32@,System.Int32)">
1990       <summary>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.</summary>
1991       <param name="location">The field where the value is written.</param>
1992       <param name="value">The value to write. The value is written immediately so that it is visible to all processors in the computer.</param>
1993     </member>
1994     <member name="M:System.Threading.Volatile.Write(System.Int64@,System.Int64)">
1995       <summary>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.</summary>
1996       <param name="location">The field where the value is written.</param>
1997       <param name="value">The value to write. The value is written immediately so that it is visible to all processors in the computer.</param>
1998     </member>
1999     <member name="M:System.Threading.Volatile.Write(System.IntPtr@,System.IntPtr)">
2000       <summary>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.</summary>
2001       <param name="location">The field where the value is written.</param>
2002       <param name="value">The value to write. The value is written immediately so that it is visible to all processors in the computer.</param>
2003     </member>
2004     <member name="M:System.Threading.Volatile.Write(System.SByte@,System.SByte)">
2005       <summary>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.</summary>
2006       <param name="location">The field where the value is written.</param>
2007       <param name="value">The value to write. The value is written immediately so that it is visible to all processors in the computer.</param>
2008     </member>
2009     <member name="M:System.Threading.Volatile.Write(System.Single@,System.Single)">
2010       <summary>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.</summary>
2011       <param name="location">The field where the value is written.</param>
2012       <param name="value">The value to write. The value is written immediately so that it is visible to all processors in the computer.</param>
2013     </member>
2014     <member name="M:System.Threading.Volatile.Write(System.UInt16@,System.UInt16)">
2015       <summary>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.</summary>
2016       <param name="location">The field where the value is written.</param>
2017       <param name="value">The value to write. The value is written immediately so that it is visible to all processors in the computer.</param>
2018     </member>
2019     <member name="M:System.Threading.Volatile.Write(System.UInt32@,System.UInt32)">
2020       <summary>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.</summary>
2021       <param name="location">The field where the value is written.</param>
2022       <param name="value">The value to write. The value is written immediately so that it is visible to all processors in the computer.</param>
2023     </member>
2024     <member name="M:System.Threading.Volatile.Write(System.UInt64@,System.UInt64)">
2025       <summary>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.</summary>
2026       <param name="location">The field where the value is written.</param>
2027       <param name="value">The value to write. The value is written immediately so that it is visible to all processors in the computer.</param>
2028     </member>
2029     <member name="M:System.Threading.Volatile.Write(System.UIntPtr@,System.UIntPtr)">
2030       <summary>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.</summary>
2031       <param name="location">The field where the value is written.</param>
2032       <param name="value">The value to write. The value is written immediately so that it is visible to all processors in the computer.</param>
2033     </member>
2034     <member name="M:System.Threading.Volatile.Write``1(``0@,``0)">
2035       <summary>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.</summary>
2036       <param name="location">The field where the object reference is written.</param>
2037       <param name="value">The object reference to write. The reference is written immediately so that it is visible to all processors in the computer.</param>
2038       <typeparam name="T">The type of field to write. This must be a reference type, not a value type.</typeparam>
2039     </member>
2040   </members>
2041 </doc>