在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
无效。
答案 0 :(得分:6)
如果await
无效,您也可以尝试使用MSDN中的Task.WaitAny Method
Task.WaitAny方法,等待任何提供的Task对象完成执行。
Task.WaitAny(ThreadPoolWorkItem.AsTask());
您也可以参考以下链接:How to Start/Stop/Wait for a Thread