3

Metroでは、スレッドが完了するのをどのように待つのかわかりますか。従来のデスクトップアプリでは、スレッドが完了するのを待つために、

thread.Join()

しかし、メトロではどうですか?

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

使用awaitは機能しません。

4

1 に答える 1

6

が機能しない場合は、MSDNのTask.WaitAnyメソッドawaitを使用することもできます。

Task.WaitAnyメソッド、提供されたタスクオブジェクトのいずれかが実行を完了するのを待ちます。

Task.WaitAny(ThreadPoolWorkItem.AsTask());

このリンクも参照できます:スレッドを開始/停止/待機する方法

また、この優れたリファレンス「スレッドなし」もご覧ください。(メトロスタイルアプリの場合)

于 2012-10-23T09:42:54.687 に答える