薄·客 - 线程
type: channel
link: https://blog.mintcore.cn/index.php/tag/%E7%BA%BF%E7%A8%8B/
items: C# 线程控制

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