2016-03-24 7 views
0

10個のスレッドでジョブを実行して100個のファイルを処理したい。各スレッドは別々のファイルで動作するはずです。スレッドが完了すると、スレッドは次のファイルを選択します。別のファイルを扱うために同じジョブをスレッドする

私が今やっていることは、基本的にはループを踏んで仕事を開始し、それをバックグラウンドで実行させます(&を使用)。プロセスの数が10より大きい場合、プロセスが終了するのを待ちます。次のファイルを取得します。それは働いていますが、これを達成するためのより良い方法がありますか?

答えて

1

各ファイルを別々に処理しなければならない限り、これ以上の解決策はありません。

1

各スレッドがそのファイルを処理してから、次のファイル自体をピックアップするほうがよいでしょう。現在のアプリケーションでは問題にならないかもしれませんが、スレッドの開始と終了は比較的高価です。一般的なプラクティスは、スレッドがそれ自身のクローンに置き換えられるだけの場合、スレッドを生かしておくことです。