c#Thread.Sleep()进入Timer

时间:2012-03-21 18:06:30

标签: c#

我有以下代码:

int i = 5000;
Console.WriteLine("waiting" + i + "miliseconds");
System.Threading.Thread.Sleep(i);
i = 3000;
Console.WriteLine("waiting" +  i + "miliseconds");
System.Threading.Thread.Sleep(i);
Console.WriteLine("finish");

在睡眠期间,我的程序没有响应。如何将睡眠转化为计时器功能?

2 个答案:

答案 0 :(得分:1)

  

在睡眠期间,我的程序没有响应

嗯......是的,那就是你告诉它要做的事情。你正在暂停主线程,那么除了等待之外它怎么可能做呢?

如果要启动后台线程或计时器,则需要使用其中一个类。你没有解释你在这里想要实现的目标,所以我能给出的最好的建议是查找BackgroundWorkerTimer类的一些示例代码(有几个{{1类,选择最适合你想做的那个。)

答案 1 :(得分:1)

在这种情况下,您需要设置实际的Timer。请参阅以下example of how to do this.您无法让代码保持睡眠状态并同时继续。如果你想使用C#5.0 async功能,那么你最接近的可能就是这样。

至少,听起来你正在寻找的是写asynchronous programming。如果您按照链接或围绕这些主题执行自己的谷歌搜索,这应该会对您有所帮助。