日期:2014-05-18  浏览次数:20789 次

C#线程挂起 suspend过时了 有什么其他方法?
thread.suspend和resume过时了 
我想通过buttonClick事件控制线程的挂起和继续
所以thread.sleep没有参数可用。
还有什么其他方法么?
感谢!

------解决方案--------------------
继续使用,不会有问题的,虽然微软不推荐你用,但是却没有给出任何替代方案,因此这让你不得不在线程中加入很多断点来控制,很麻烦。
------解决方案--------------------
其它安全的办法都很麻烦,如果你真是简单的用用那就继续用吧。

想优雅的解决那就要给线程内部 加 好多断电,不停的判断,这显示是看起来优雅,实际很丑陋的方法。
------解决方案--------------------
其实你这样想,微软还不推荐我们在C#里面使用指针呢!深怕用了指针导致程序出现了无法捕获的异常。但是如果你确定自己在做什么,还是可以用的,因为某些操作用指针来完成,将大大提高效率,这里线程也是,你确定用它不会出现任何无法捕获的异常,就只管用。
------解决方案--------------------
使用Mutex类的WaitOne方法代替,具体自己参考下MSDN
------解决方案--------------------
这个和你不想在thread中增加任何业务以外的代码,却希望控制thread安全的退出一样,无法做到。

你必须有个协调。 在性能/不安全(有资源没有正确释放),优雅/丑陋之间协调

没办法的,接受事实吧。
------解决方案--------------------
跳出线程,并记录线程相关信息。 下次开始。成跳出时运行