c# - 多等待句柄

标签 c# multithreading

我有这样的代码:

public void MethodA()
{
    MyManualResetEvent.Reset();
}

public void MethodB()
{
    MyManualResetEvent.Set();
}

如果另一个线程调用了 MethodA 而不是 MethodB,则在使用 MyManualResetEvent.WaitOne() 停止线程时,这会起作用。

我现在想要做的是能够调用 MethodA 两次,只有当 MethodB 被调用两次而不是一次时,另一个线程才会继续。

我希望 System.Threading 里有东西我不知道的 namespace 。

最佳答案

CountdownEvent可能是您正在寻找的。 来自 MSDN:“代表同步原语,当其计数达到零时发出信号。”

http://msdn.microsoft.com/en-us/library/system.threading.countdownevent.aspx

它仅在 .NET 4 中可用。

关于c# - 多等待句柄,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6762387/

相关文章:

c# - 访问其他线程wpf中的ui元素

c# - 适用于 Windows Phone 8.1 Silverlight 的数据库

c# - 调用PayU rest api(创建订单)返回html而不是json响应

Python - 多线程/多处理

java - Runnables 会阻塞 UI 线程吗?

c++ - operator new 可以在施工完成前返回吗?

c# - 为 kendo ui Combobox 触发了两次更改事件

c# - HTML 在浏览器中看起来不错,但在电子邮件中却不行

c# - C# 中是否有支持故障安全迭代的良好 IList 和 IDictionary 实现?

Python 切片数组以进行多线程并按顺序重新组装结果?