3

学校のプロジェクトでは、ユーザーが 1 ~ 10 個のテキスト ファイルから選択するプログラムを作成する必要があります。次に、プログラムはこのファイルをマルチプロセッサ並列処理 ( Task Parallel Libraryだと思います) で検索して、単語を見つけて正しい行を取得する必要があります。

読み取りを a に入れることを考えましたParallel.Forが、同じファイルから同時に読み取るために異なるプロセスを避ける必要があります。

どうすればそうするように言うことができParallel.Forますか?

4

3 に答える 3

4

TPL、タスクを使用することで、良い道を進んでいます(.net 4.5を使用できる場合は非同期を待ちます)。

  1. 1 つのメイン スレッドを使用して、1 行ずつ読み取りを実行できます。
  2. コレクションに行を保存します
  3. 次に、TPL を使用してパターン検索操作を実行できます。
于 2012-11-29T13:35:23.273 に答える
0

.NetでThreadクラスを使用することもできます。MSDNhttp://msdn.microsoft.com/en-us/library/aa645740(v= vs.71 ).aspxからこのチュートリアルを見てください。

基本的には、読み取る必要のあるファイルごとにスレッドを実行し、各ファイルがそれぞれのファイルの処理を完了したことを知ることができます。

編集:ただし、非常に大きなファイルがある場合にのみ、並列処理をお勧めします。

于 2012-11-29T13:38:20.697 に答える
0

ファイルから読み取るラッパー クラスを作成し、同じファイルを 2 回読み取らないようにすることをお勧めします。

于 2012-11-29T13:59:52.350 に答える