首页 新闻 会员 周边 捐助

如何通过信号量暂停或者继续另一个线程工作的运行

0
[已解决问题] 解决于 2008-08-14 09:11
<P>想通过外部的一个信号量来控制,一个线程的运行或暂停或继续</P>
问题补充: 还想问一下,是否可以通过给线程命名获得该线程的实例,如果有的话,方法是什么
lexus的主页 lexus | 初学一级 | 园豆:0
提问于:2008-08-06 09:12
< >
分享
最佳答案
0
仅仅通过一个信号量来随意控制其他线程的运行状态是不现实的。 不过可以通过控制信号量的数量来限制同时访问资源的线程数,而且当线程在等待信号时,它是暂停的。只有信号到达,线程才继续运行。 问题补充的解答: 可以通过给线程命名获得该线程的实例,但这种方法并不安全。需要人为控制线程的命名,做到其名称不重复才可以。最安全的方法使用线程 ID,这是唯一的。或者使用 Thread.CurrentThread 来达到目的。 假如使用给线程命名的方案,可以通过 Thread thread = new Thread(委托); thread.Name = "线程名称";。 再次重申,这种方案不安全,必须人为严格控制线程名称不重复。
Angel Lucifer | 小虾三级 |园豆:775 | 2008-08-06 17:02
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册