我正在使用ManualResetEvent
的一个实例来控制对资源的线程访问,但是我遇到了一些问题。有没有人知道如何在调试期间找出对象的状态?
也就是说,我想知道ManualResetEvent
当前是否阻塞了任何线程,甚至知道它阻塞了多少线程和哪些线程。
发布于 2008-12-23 15:52:00
在超时值为零的事件上执行WaitOne
。
如果设置了事件,则返回true;如果发生超时,则返回false。换句话说,设置了true ->事件,不设置false ->事件。
发布于 2011-08-08 03:35:14
以下是工作代码:
private ManualResetEvent pause = new ManualResetEvent(false);
pause.WaitOne(); // caller thread pauses
pause.Set(); // another thread releases paused thread
// Check pause state
public bool IsPaused { get { return !pause.WaitOne(0); } }
发布于 2020-09-06 06:58:53
可以在“调试器监视”窗口中进行函数调用。在“监视”窗口中添加对mreVariable.WaitOne(0)
的调用,并查看其计算结果。注意:您不应该将其用于AutoResetEvents,因为这可能会更改实际状态。
https://stackoverflow.com/questions/389196
复制相似问题