我对线程工作方式的模型是,一些ThreadManager
给每个线程一个回合。当轮到线程时,它将执行几行代码。
要暂停一个线程,难道不能让ThreadManager
(瞬间)停止允许该线程有一个回合吗?
要中止一个线程,难道ThreadManager
不能再给那个线程一次机会吗?
怎么了?
最佳答案
引用MSDN中有关暂停线程的内容:
你不知道什么代码
挂起时线程正在执行
它。如果你挂起一条线
在保安期间持有锁
权限评估,其他线程
在appdomain中可能被阻止。如果
当线程处于
执行类构造函数,其他
appdomain中尝试
无法使用该类。
死锁很容易发生。
中止的线程可能导致不可预知的情况。关于这个有一篇很好的文章:http://www.bluebytesoftware.com/blog/2009/03/13/ManagedCodeAndAsynchronousExceptionHardening.aspx