WaitHandle是一个抽象基类,用于等待一个信号的设置。可以等待不同的信号,因为WaitHandle是一个基类,可以从中派生一些类。
使用WaitHandle基类可以等待一个信号的出现(WaitOne()方法)、等待必须发出信号的多个对象(WaitAll()方法),或者等待多个对象中的一个(WaitAny()方法)。WaitAll()和WaitAny()是WaitHandle类的静态方法,接收一个WaitHandle参数数组。
WaitHandle基类有一个SafeWaitHandle属性,其中可以将一个本机句柄赋予一个操作系统资源,并等待该句柄。例如,可以指定一个SafeWaitHandle等待文件I/O操作的完成。
因为Mutex、EventWaitHandle和Semaphore类派生自WaitHandle基类,所以可以在等待时使用它们。