August 2003
Intermediate to advanced
928 pages
32h 1m
English
WaitHandle
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 WaitHandle( ); // Public Static Fields public const int WaitTimeout; // =258 // Protected Static Fields protected static readonly IntPtr InvalidHandle; // =-1 // Public Instance Properties public virtual IntPtr Handle{set; get; } // Public Static Methods public static bool WaitAll(WaitHandle[ ]waitHandles); public static bool WaitAll(WaitHandle[ ]waitHandles, intmillisecondsTimeout, boolexitContext); public static bool WaitAll(WaitHandle[ ]waitHandles, TimeSpantimeout, boolexitContext); public static int WaitAny(WaitHandle[ ]waitHandles); public static int WaitAny(WaitHandle[ ]waitHandles, intmillisecondsTimeout, boolexitContext); public static int WaitAny(WaitHandle[ ]waitHandles, TimeSpantimeout, boolexitContext); // Public Instance Methods public virtual void Close( ); public virtual ...