使用System.Threading.Thread.Sleep()使整个应用程序在参数中停留一段时间。我希望在一个进程等待特定时间的情况下运行其他进程。简而言之,我想在我的应用程序中使用除了System.Threading.Thread.Sleep()之外的其他方法,而不是停止整个事情。
示例:如果我有一个标签每5秒更改一次文本,我应该可以按一个按钮来执行其他操作,例如更改图像。
答案 0 :(得分:2)
Thread.Sleep()
仅将当前线程置于休眠状态。如果它是UI线程,这可能会阻止您的应用程序,它看起来完全被阻止。后台线程仍在运行。
如果您想要无阻塞地睡觉,可以使用以下代码:
await Task.Delay(5000);
// continue here with your code, such as updating your label
这不会阻止UI线程,只会延迟功能的进行。您必须将方法声明为async
答案 1 :(得分:0)
我对此并不了解,所以我不确定这是最好的方法
就像你的主线程在继续之前等待子线程完成一样。从这里到你的问题,我想只是大脑会帮助
另一个有用的链接: