我正在寻找一种替代方法来调用Thread.Sleep,它不会阻塞线程,而是将线程返回到线程池中。这样的事情存在吗?
答案 0 :(得分:9)
await Task.Delay(delay);
答案 1 :(得分:1)
如果线程正在返回池中,那么它将不会在相关方法中再做任何工作。将方法的下一位作为单独的方法,并创建一个调用它的Timer。
答案 2 :(得分:1)
您也可以使用Timer例如:
using System.Timers;
private void Main()
{
Timer t = new Timer();
t.Interval = 5000; // 5 seconds
t.AutoReset = false;
t.Elapsed += new SleepDone(TimerElapsed);
t.Start();
}
private void SleepDone(object sender, ElapsedEventArgs e)
{
Console.WriteLine("HERE WHAT COME AFTER SLEEP");
}