怎么控制其他线程休眠啊?

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,查看更多内容
随时随地看视频慕课网APP