一尘不染

如何在C#4.0中使任务进入睡眠状态(或延迟)?

c#

.NET 4.5中 有Task.Delay

在.NET 4.0中我该如何做?


阅读 228

收藏
2020-05-19

共1个答案

一尘不染

您可以使用在4.0中Timer创建Delay方法:

public static Task Delay(double milliseconds)
{
    var tcs = new TaskCompletionSource<bool>();
    System.Timers.Timer timer = new System.Timers.Timer();
    timer.Elapsed+=(obj, args) =>
    {
        tcs.TrySetResult(true);
    };
    timer.Interval = milliseconds;
    timer.AutoReset = false;
    timer.Start();
    return tcs.Task;
}
2020-05-19