怎么控制其他线程休眠啊?
public void SleepByName(string name) { if (this.trdList.Count == 0) return; for (int i = 0; i < this.trdList.Count; i++) { if (this.trdList[i].Name == name) { if (this.trdList[i] != null && this.trdList[i].ThreadState != ThreadState.Stopped) { break; } }
} }
我想遍历一个存放线程的集合,然后控制里面的线程休眠,请问怎么操作啊?用Suspend吗?
休眠自己的线程 是Thread.Sleep(500) 那么休眠其他线程呢?
慕的地10843
浏览 505回答 2
2回答
-
翻过高山走不出你
不要使用 Suspend 方法来同步线程的活动。您无法知道挂起线程时它正在执行什么代码。如果您在安全权限评估期间挂起持有锁的线程,则 AppDomain中的其他线程可能被阻止。如果您在线程正在执行类构造函数时挂起它,则 AppDomain 中试图使用该类的其他线程将被阻止。很容易发生死锁。
名称说明
Thread.Sleep (Int32)
将当前线程挂起指定的时间。
由 .NET Compact Framework 支持。
Thread.Sleep (TimeSpan)
将当前线程阻塞指定的时间。
楼主可以遍历线程,使用Sleep实现线程阻塞一段时间,尽量不要使用Suspend
打开App,查看更多内容