如何在 C# 4.0 中让任务进入睡眠(或延迟)状态? [英] How to put a task to sleep (or delay) in C# 4.0?
本文介绍了如何在 C# 4.0 中让任务进入睡眠(或延迟)状态?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
.NET 4.5 中有 Task.Delay
There is Task.Delay in .NET 4.5
如何在 .NET 4.0 中做同样的事情?
How can I do the same in .NET 4.0?
推荐答案
你可以使用 Timer
在 4.0 中创建一个 Delay
方法:
You can use a Timer
to create a Delay
method in 4.0:
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;
}
这篇关于如何在 C# 4.0 中让任务进入睡眠(或延迟)状态?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文