如何使应用程序等待并使其他进程在C#中同时运行?

时间:2015-05-12 05:13:55

标签: c# multithreading sleep wait

使用System.Threading.Thread.Sleep()使整个应用程序在参数中停留一段时间。我希望在一个进程等待特定时间的情况下运行其他进程。简而言之,我想在我的应用程序中使用除了System.Threading.Thread.Sleep()之外的其他方法,而不是停止整个事情。

示例:如果我有一个标签每5秒更改一次文本,我应该可以按一个按钮来执行其他操作,例如更改图像。

2 个答案:

答案 0 :(得分:2)

Thread.Sleep()仅将当前线程置于休眠状态。如果它是UI线程,这可能会阻止您的应用程序,它看起来完全被阻止。后台线程仍在运行。

如果您想要无阻塞地睡觉,可以使用以下代码:

await Task.Delay(5000);
// continue here with your code, such as updating your label

这不会阻止UI线程,只会延迟功能的进行。您必须将方法声明为async

答案 1 :(得分:0)

我对此并不了解,所以我不确定这是最好的方法

The Task.Wait Method

就像你的主线程在继续之前等待子线程完成一样。从这里到你的问题,我想只是大脑会帮助

另一个有用的链接:

Thread Synchronization