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