O'Reilly logo

C# in a Nutshell by Peter Drayton, Ted Neward, Ben Albahari

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required