我正在使用ManualResetEvent
的实例来控制对资源的线程访问,但我遇到了问题。有谁知道在调试对象的状态时我怎么能找到?
也就是说我想知道ManualResetEvent
当前是否阻止了任何线程,甚至可能阻塞了多少线程以及它阻塞的线程。
答案 0 :(得分:83)
对事件执行WaitOne
,超时值为零。
如果设置了事件,它将返回true,如果发生超时,则返回false。 换句话说,真的 - > event设置,false - >事件没有设定。
答案 1 :(得分:5)
这是工作代码:
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); } }
答案 2 :(得分:1)
您可以在“调试器监视”窗口中进行函数调用。
在“监视”窗口中向x = [df.to_dict()] #create a list x whose content is the dictionary of you dataframe
添加呼叫,然后查看其评估结果。
注意:请勿将其用于AutoResetEvents,因为这可能会更改实际状态。