简述AutoResetEvent 的哪个方法是让线程进入阻塞状态的?
参考答案:
AutoResetEvent 类中的 WaitOne 方法是让线程进入阻塞状态的。当某个线程调用 WaitOne 方法时,它将进入等待状态,并阻塞其后续代码的执行,直到接收到 Set 方法发出的信号。
如果 AutoResetEvent 对象处于无信号状态(即非终止状态),调用 WaitOne 方法的线程将被阻塞,直到其他线程调用 Set 方法并发出信号。一旦收到信号,WaitOne 方法将消耗该信号,并使 AutoResetEvent 重新进入无信号状态,然后阻塞的线程会继续执行其后续代码。
此外,AutoResetEvent 类还提供了其他方法,如 Set 和 Reset,用于控制事件的状态并影响线程的阻塞和继续执行。Set 方法用于将 AutoResetEvent 的状态设置为有信号(终止状态),从而允许一个或多个等待线程继续执行。Reset 方法则用于将事件状态重置为非终止状态,使线程再次阻塞。
总的来说,AutoResetEvent 类提供了一种线程同步的机制,通过控制信号的发送和接收来协调多个线程的执行。