这里旨在记录开发过程中遇到的关于线程的问题
博主原文:C#线程控制
线程的常规用法主要包括一下几点
常见线程控制方法
Thread.ThreadState 判断指定线程状态
Thread.Yield 切换线程
Thread.Interrupt 引发阻塞线程的中断异常
Thread.Join 等待线程完成
Thread.Abort 引发线程上的ThreadAborting异常
那么,如果当一个线程被有意或者无意Abort了,而有需要重新启动该条线程怎么办呢?
思路如下:
因为
abort以后那个线程就不存在了。不可能继续启动。
如果想再启动,那就再启动就是新线程了,所以按照这个思路,我们只需要把需要启动的线程再NEW一次,并Start就可以了。
总结
首先.NET不太支持对线程的直接暂停,因为不安全。这个不安全体现在,你不知道线程正在运行到哪个函数的哪个节点。
所以,一般情况下,是用别的方法来让线程停下的。这个停下,一般情况下就是干完一个您认为完整的业务。
如果您硬要强制暂停,那就suspend方法,然后用resume方法重启,但这个方法相信你试过,并不好用。