質問: C#で重い処理を非同期で動かしたいのですが、 その処理が順番が入れ替わってしまってはいけないものだとすると 非同期処理は使えないのでしょうか。 例えば例えばフォルダA、B、Cがあり、それぞれファイルが10個ずつ入っていたとします(a0~a9.csv,b0~b9.csv, c0~c9.csv)。 フォルダをコピー(A',B',C')して、ファイルごとにある処理をさせて、処理結果をまとめたファイル(aSummary.csv, bSummary.csv, cSummary.csv)を作成し、コピーフォルダに保存するという作業を行いたいとします。 ただ、非同期(ParallelやTask)では早く完了した順に結果を返してしまうと思います。 そこをA~Eの順は守りつつ、処理自体は非同期で行うことはできるのでしょうか。 よろしくお願いします。
回答: それ以前にこの問題の場合、複数のスレッドから同時に複数のファイルにアクセスすることになると思いますが、対象が HDD や DVD などなら高速化どころか低速化します。