C# 从同一线程内部中止该线程

C# 从同一线程内部中止该线程,c#,multithreading,thread-abort,C#,Multithreading,Thread Abort,我创建了一个线程a,并决定从线程a内部中止它。这可能吗?如果是这样,我该怎么做 谢谢你的帮助 当然,您可以: Thread.CurrentThread.Abort(); 可以说,中止当前线程是唯一一种安全的中止,因为它是您真正了解的唯一线程。例如,这就是我们所做的 这不是我通常推荐的方法-基本上是这样做的,因为除非您显式调用,ThreadAbortException将向上传播调用堆栈,而不管捕获块是什么-从这个意义上讲,这是一种“优步异常”。好的,我知道它是安全的。我仍然会对任何使用这个的代码

我创建了一个线程a,并决定从线程a内部中止它。这可能吗?如果是这样,我该怎么做

谢谢你的帮助

当然,您可以:

Thread.CurrentThread.Abort();
可以说,中止当前线程是唯一一种安全的中止,因为它是您真正了解的唯一线程。例如,这就是我们所做的


这不是我通常推荐的方法-基本上是这样做的,因为除非您显式调用,
ThreadAbortException
将向上传播调用堆栈,而不管捕获块是什么-从这个意义上讲,这是一种“优步异常”。

好的,我知道它是安全的。我仍然会对任何使用这个的代码表示怀疑。有点像看到一个
goto
当有其他更干净的做事方式时。事实上,我把
Thread.Abort
称为“多线程编程的
goto
。”我不是100%反对使用
Abort
,就像我不是100%反对使用
goto
。但是@吉米谢尔:是的,这很可怕——但至少比中止另一个线程要好。将进行编辑,以明确这不是推荐的策略。