关于C#线程挂起

Suspend()

  • 在C#中,线程的挂起可以使用suspend()方法。可此方法早就被官方强烈反对使用,因为你不知道suspend操作会使程序挂起在哪一行代码,这很容易带来一些意料之外的问题。在Visual Studio IDE中使用suspend会被提示“Thread.Suspend has been deprecated. Use other classes in System.Threading, such as Monitor, Mutex, Event, and Semaphore, to synchronize Threads or protect resources."

不得不说微软的文档好!

文档链接

  • 文档已经说地很清楚了,使用suspend,你不知道线程正在执行什么代码。比如,如果线程挂起在一个类型的构造函数,而其他对象对这个类型的对象有所依赖,那么这很容易造成死锁。
上一篇:C# 自定义委托与事件应用


下一篇:全新发布:Shutter图像浏览器 (原ExifPro Mod)