首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何发现ManualResetEvent处于什么状态?

如何发现ManualResetEvent处于什么状态?
EN

Stack Overflow用户
提问于 2008-12-23 15:43:03
回答 3查看 20.8K关注 0票数 75

我正在使用ManualResetEvent的一个实例来控制对资源的线程访问,但是我遇到了一些问题。有没有人知道如何在调试期间找出对象的状态?

也就是说,我想知道ManualResetEvent当前是否阻塞了任何线程,甚至知道它阻塞了多少线程和哪些线程。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2008-12-23 15:52:00

在超时值为零的事件上执行WaitOne

如果设置了事件,则返回true;如果发生超时,则返回false。换句话说,设置了true ->事件,不设置false ->事件。

票数 97
EN

Stack Overflow用户

发布于 2011-08-08 03:35:14

以下是工作代码:

代码语言:javascript
复制
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); } }
票数 6
EN

Stack Overflow用户

发布于 2020-09-06 06:58:53

可以在“调试器监视”窗口中进行函数调用。在“监视”窗口中添加对mreVariable.WaitOne(0)的调用,并查看其计算结果。注意:您不应该将其用于AutoResetEvents,因为这可能会更改实际状态。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/389196

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档