【发布时间】:2018-10-25 09:26:33
【问题描述】:
我已经开始讨论:在循环中暂停 System.Timers.Timer 的工作 1 秒,Task.Delay 或 Thread.Sleep 使用什么更好???
这里是样例:
timer.Elapsed += (sender, args) =>
{
for (int i = 0; i < 15; i++)
{
Thread.Sleep(1000);
if (Connection.IsAlive) return true;
}
};
请帮我解决问题:)
【问题讨论】:
-
当你尝试这两种方法时发生了什么?
-
如果您正在利用异步等待,那么使用 await Task.Delay 您不必阻塞线程。如果那段代码将同时被击中,我会考虑它,否则我可能不会打扰。
-
你如何定义哪个“更好”?
-
“更好”的意思是——正确的 :)
标签: c# multithreading performance task