关于private ManualResetEvent m_eventSend = new ManualResetEvent(false)

qiuqingpo 2010-03-24 03:58:33
private ManualResetEvent m_eventSend = new ManualResetEvent(false);
这样的一个声明是做什么的呀.有什么用呀.
还有就是他的m_eventSend.Set()和m_eventSend.Reset()方法是做什么用的!
通过它能不能启动事件呀!
...全文
90 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
名字随便取 2010-03-24
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 qiuqingpo 的回复:]

引用 1 楼 gaosir86 的回复:
public static ManualResetEvent mre = new ManualResetEvent(false);
ManualResetEvent建立时是把false作为start的初始状态,这个类用于通知另一个线程,让它等待一个或多个线程。注意,为了通知或监听同一个线程,所有的其它线程都能访问那个类。
等待线程这样写:
mre……
[/Quote]

参考资料:http://www.cnblogs.com/BlueTzar/articles/864355.html
lala_1901 2010-03-24
  • 打赏
  • 举报
回复
鼠标一抖。。。。。10分到手
qiuqingpo 2010-03-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 gaosir86 的回复:]
public static ManualResetEvent mre = new ManualResetEvent(false);
ManualResetEvent建立时是把false作为start的初始状态,这个类用于通知另一个线程,让它等待一个或多个线程。注意,为了通知或监听同一个线程,所有的其它线程都能访问那个类。
等待线程这样写:
mre.WaitOne();
这将引起等待线程无限……
[/Quote]
它是怎么和某个线程对应上有关系的呢?还请大哥再次指点!
名字随便取 2010-03-24
  • 打赏
  • 举报
回复

public static ManualResetEvent mre = new ManualResetEvent(false);
ManualResetEvent建立时是把false作为start的初始状态,这个类用于通知另一个线程,让它等待一个或多个线程。注意,为了通知或监听同一个线程,所有的其它线程都能访问那个类。
等待线程这样写:
mre.WaitOne();
这将引起等待线程无限期的阻塞并等待类来通知。

发信号的线程应该这样:
mre.Set();

这样类就会被通知,值变成true,等待线程就会停止等待。在通知事件发生后,我们就可以使用下面语句把线程置于基状态:
mre.Reset();

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧