试试BackGroudWork(Event: DoWork,RunWorkerCompleted)
解决方案 »
- 简单的正则,请各位赐教一下,在线等!!!!!
- datagridview的常见属性,散分了
- 请教高手:下面的索引属性在大并发下有没有设计缺限或漏洞? public class Test { private object s
- 调用苹果手机播放器代码。。。。。在线等
- 大家对于计算机误差都是如何解决的。例如双精度数据的中间计算机结果应该是30.5,但却成了30.499999999999968,酿成大错。双精度数在第几位上开始产生误差?
- 请教一个绘制文字的问题
- 一道asp.net面试题?
- 如何删除datgrid 的binding
- 从XML文件中读出数据写入Access数据库问题。
- ADO.NET中oracle数据库的问题(请管理员不要删,24小时给分)
- 动态配置文件管理
- 互斥变量好像没有解锁成功 必须重启iis
建议解决方案:不要用join,而改用一个供三个线程使用的同步锁。
如果A只是等待这个C结束的话,可以这样做:
创建一个Event,然后在A启动B之前RESET这个EVENT,在启动B之后waitfor这个Event。
同样,B线程在触发datareceived事件之后也waitfor这个Event。
最后在C线程结束前Set这个Event即可。
如果A必须等到B结束的话,B就没有存在的必要了,反正A和B根本没有并发执行,多搞个线程出来是自找麻烦。
------>open new Thread
(new thread waiting)
----->trigger new Event
----Event doing somethings
(new thread resume)
想在线程中判断靠驱动的事件是否执行完毕,完毕后线程才继续执行,时这个意思么?
如果是的话,确实不太好处理,可以考虑lock某个对象,自己去标记所触发的event是否执行完毕了,没有完毕之前,不要释放改对象...