我想让一个应用程序执行几条指令来传递以下指令必须等待几毫秒。
这样:
while(true){
send("OK");
wait(100); //or such delay(100);
}
C#中有可能吗?
答案 0 :(得分:18)
Thread.Sleep(100);
会做到这一点。这可以在System.Threading
命名空间中找到。
答案 1 :(得分:8)
您可以使用Thread.Sleep()方法暂停当前线程X毫秒:
// Sleep for five seconds
System.Threading.Thread.Sleep(5000);
答案 2 :(得分:6)
要睡眠100毫秒,请使用Thread.Sleep
While(true){
send("OK");
Thread.Sleep(100);
}
答案 3 :(得分:5)
Thread.Sleep(毫秒)应该停止该秒的应用程序。阅读MSDN中的Thread.Sleep。
答案 4 :(得分:5)
你可以使用Thread.Sleep
,但我强烈反对它,除非你A)知道它是合适的事实并且B)没有更好的选择。如果您可以更具体地了解您想要实现的目标,那么可能会有更好的替代方案,例如使用events和处理程序。
答案 5 :(得分:4)
是的,您可以使用Thread.Sleep method:
while(true)
{
send("OK");
Thread.Sleep(100); //Sleep for 100 milliseconds
}
然而,睡眠通常表示设计决策不理想。如果可以避免,我建议这样做(使用回调,用户模式等)。
答案 6 :(得分:2)
这将是一个更好的选择,因为它不会锁定当前的thead并使其无响应。
创建此方法
async System.Threading.Tasks.Task WaitMethod()
{
await System.Threading.Tasks.Task.Delay(100);
}
然后像这样打电话
public async void MyMethod()
{
while(true)
{
send("OK");
await WaitMethod();
}
}
请勿在调用延迟的方法中伪造异步!
For more info see this page I found when trying to do a similar thing
答案 7 :(得分:0)
Thread.Sleep()
是解决方案。它可以用来等待一个线程,直到其他线程完成它正在工作 OR 执行一条指令后,有人想在执行后面的语句之前等待一段时间。
它有两个重载方法。第一个采用int类型的milisecond参数,而第二个采用timespanpan参数。
1 Milisecond=1/1000s
或 1 second=1000 Miliseconds
假设有人想要等待10秒钟代码就会....
System.Threading.Thread.Sleep(10000);
有关Thread.Sleep()
的更多详情,请访问http://msdn.microsoft.com/en-us/library/274eh01d(v=vs.110).aspx
快乐编码.....!