.NET AutoResteEvent:如何知道进程是否正在等待(方法WaitOne)?

.NET AutoResteEvent:如何知道进程是否正在等待(方法WaitOne)?,.net,process,autoresetevent,.net,Process,Autoresetevent,我调用我的进程方法“WaitOne”,如果进程正在等待,我需要知道另一个方法 我能知道我的服务员把手吗 声明: private static EventWaitHandle WaitHandle = new AutoResetEvent(false); 电话: 编辑 该进程通过事件发送数据请求,并等待发送,当它收到数据时,继续执行方法“WaitHandle.set()” 但是用户也可以请求取消流程,在该请求中,我需要知道流程是否正在等待。我仍然不明白为什么您需要知道某个事件是否正在等待。你应该

我调用我的进程方法“WaitOne”,如果进程正在等待,我需要知道另一个方法

我能知道我的服务员把手吗

声明:

private static EventWaitHandle WaitHandle = new AutoResetEvent(false);
电话:

编辑

该进程通过事件发送数据请求,并等待发送,当它收到数据时,继续执行方法“
WaitHandle.set()


但是用户也可以请求取消流程,在该请求中,我需要知道流程是否正在等待。

我仍然不明白为什么您需要知道某个事件是否正在等待。你应该重新设计你的逻辑,不需要这样做。通常,这可以通过使用ManualResetEvent来完成。否则,您可能必须使用一个锁和一个标志来指示侦听器是否正在侦听。

如果您需要知道,您可能做错了什么。为什么你需要知道?这是不可能的,这是一个基本的线程竞赛。不清楚你想做什么,但听起来你确实需要两件事。一个表示正常运行,另一个表示取消。使用WaitAny()进行测试,首先取消一个。
WaitHandle.WaitOne()