Name

WaitHandle

Synopsis

This class encapsulates much of the logic for dealing with synchronization handles, which allow much more fine-grained synchronization control than simple thread locking. Once you have references to one or more WaitHandle subclasses, use the static WaitOne() or WaitAny() methods to obtain a lock on any single handle or all of the handles, respectively. The WaitOne() instance method acquires the lock for a specific WaitHandle. If a thread blocks and cannot obtain the necessary locks, it enters the ThreadState.WaitSleepJoin state until the locks can be obtained.

public abstract class WaitHandle : MarshalByRefObject : IDisposable {
// Public Constructors
   public method WaitHandle();  
// Public Static Fields
   public const field int WaitTimeout;                           // =258
                  // Protected Static Fields
   protected static readonly field IntPtr InvalidHandle;         // =-1
                  // Public Instance Properties
   public virtual field IntPtr Handle{set; get; } 
// Public Static Methods
   public static method bool WaitAll(
        WaitHandle[] waitHandles);  
   public static method bool WaitAll(WaitHandle[] waitHandles, 
        int millisecondsTimeout, bool exitContext);  
   public static method bool WaitAll(WaitHandle[] waitHandles, 
        TimeSpan timeout, bool exitContext);  
   public static method int WaitAny(
        WaitHandle[] waitHandles);  
   public static method int WaitAny(WaitHandle[] waitHandles, 
        int millisecondsTimeout, bool exitContext);  
   public static method int WaitAny(WaitHandle[] waitHandles, 
        TimeSpan timeout, bool exitContext);  
// Public ...

Get C# in a Nutshell now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.