关于C#线程挂起
Posted 一襟阳光
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于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#线程挂起的主要内容,如果未能解决你的问题,请参考以下文章
使用 Console.Writeline() 或 Console.Write() 时,多线程 C# 控制台应用程序中不经常挂起
关于使用URLConnection下载文件时出现无限等待线程挂起的问题
关于使用URLConnection下载文件时出现无限等待线程挂起的问题