C# と .Net 4.5 を使用して VS 2012 でプロジェクトを作成しています。ディレクトリ ツリーを反復処理する必要がありますが、非同期で実行したいと考えています。Taskクラスで何かをしなければならないと思いますが、よくわかりません。また、プロセスの進捗状況を報告できる必要があります。
質問する
675 次
2 に答える
2
関数全体をラップするだけTask.Run(()=>{ ... });
で、スレッド プール スレッドで非同期に実行されます。
于 2012-11-21T16:59:00.093 に答える
0
を使用できますBackgroundWorker
。進行状況を報告し、処理がいつ終了したかを確認するために使用できるイベント ハンドラーを実装できるためRunWorkerProgress
、非常に便利です。RunWorkerCompleted
進捗状況については、唯一の方法を使用して完了した作業の一部を見積もることはできませんがDirectory.EnumerateFileSystemEntries()
(ディレクトリ/ファイルがいくつあるかわからないため)、ユーザーに表示することはできます。処理した (または同様の) パスの数。
于 2012-11-21T17:14:38.547 に答える