Max*_*sky 18 c# multithreading timeout
我需要做一种"超时"或在我的方法中暂停10秒(10000毫秒),但我不确定以下是否会起作用,因为我没有多线程.
Thread.Sleep(10000);
Run Code Online (Sandbox Code Playgroud)
我将尝试使用当前的代码,但如果有人可以解释这样做的最佳和正确的方法,我将不胜感激,特别是如果上述代码无法正常工作.谢谢!
更新:这个程序实际上是一个控制台应用程序,在该函数中对一个服务器执行许多HTTPWebRequests,所以我希望将它们延迟指定的毫秒数.因此,不需要回调 - 所需要的只是"无条件暂停" - 基本上整个事情停止10秒然后继续.我很高兴C#仍然认为这是一个线程,所以Thread.Sleep(...)会起作用.谢谢大家!
Jon*_*eet 17
您可能没有多线程,但您仍在线程中执行:所有代码都在线程中执行.
调用Thread.Sleep确实会暂停当前线程.你真的希望它无条件地暂停10秒,或者你是否希望能够被其他事情"唤醒"?如果你实际上只使用一个线程,那么调用Sleep可能是最好的前进方式,但这取决于具体情况.
特别是,如果您正在编写GUI应用程序,则不希望Thread.Sleep在UI线程中使用,否则您的整个应用程序将在10秒内无响应.
如果您可以提供有关您的申请的更多信息,这将有助于我们更好地为您提供建议.
| 归档时间: |
|
| 查看次数: |
53988 次 |
| 最近记录: |