等待线程在Metro中完成

Che*_*eng 3 c# microsoft-metro windows-8

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

thread.Join()

但是,地铁怎么样?

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

使用await不起作用.

Fur*_*dar 6

如果await不起作用,您还可以尝试使用MSDN中的Task.WaitAny方法

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

Task.WaitAny(ThreadPoolWorkItem.AsTask());
Run Code Online (Sandbox Code Playgroud)

您还可以参考以下链接:如何启动/停止/等待线程

另外看看这个好的参考No Threads for you!(在metro风格的应用程序中)