在 Thread.Sleep 期间可以引发 ThreadAbortException 吗?

use*_*472 1 c# multithreading sleep abort

Thread.Abort 是否可以中断正在休眠的线程(例如,使用 Thread.Sleep(TimeSpan.FromDays(40)) ?或者它会等到睡眠时间跨度到期?

(备注:FromDays(40) 当然是个笑话。我知道 Thread.Abort 不是停止线程的推荐方法,我正在处理我现在不想重构的遗留代码。)

Joã*_*elo 6

代码值一千字:

public static void Main(string[] args)
{
    var sleepy = new Thread(() => Thread.Sleep(20000));

    sleepy.Start();
    Thread.Sleep(100);
    sleepy.Abort();
    sleepy.Join();
}
Run Code Online (Sandbox Code Playgroud)

程序在睡眠时间用完之前结束。