use*_*472 1 c# multithreading sleep abort
Thread.Abort 是否可以中断正在休眠的线程(例如,使用 Thread.Sleep(TimeSpan.FromDays(40)) ?或者它会等到睡眠时间跨度到期?
(备注:FromDays(40) 当然是个笑话。我知道 Thread.Abort 不是停止线程的推荐方法,我正在处理我现在不想重构的遗留代码。)
代码值一千字:
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)
程序在睡眠时间用完之前结束。