等待线程在Metro中完成

时间:2012-10-23 09:34:02

标签: c# windows-8 microsoft-metro

在Metro,我可能知道你如何等待线程完成。在传统的桌面应用程序中,要等待线程完成,我将使用

thread.Join()

然而,在Metro怎么样?

// public void getSignalProcessingRunnable(IAsyncAction source) {}
IAsyncAction ThreadPoolWorkItem = Windows.System.Threading.ThreadPool.RunAsync(getSignalProcessingRunnable);
// How to wait for thread to complete?

使用await无效。

1 个答案:

答案 0 :(得分:6)

如果await无效,您也可以尝试使用MSDN中的Task.WaitAny Method

  

Task.WaitAny方法,等待任何提供的Task对象完成执行。

Task.WaitAny(ThreadPoolWorkItem.AsTask());

您也可以参考以下链接:How to Start/Stop/Wait for a Thread

另请参阅此参考资料No Threads for you ! (in metro style apps)