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