0

I have a huge file with hundreds of thousands of lines. I need to run the same process on each line. My plan was to make several threads to speed up the process. Whenever I multithreaded before I used treading and Queue modules. However I cannot figure out how to apply a queue. What I really need to do is read the file line by line, as the file is too large to do the whole thing. I thought that maybe I could just add one thing to the queue at a time with .put(), then immediately pass it to the thread, but it seems like if I did this the threads could conflict. Any suggestions?

4

1 に答える 1

0

1 行あたりの処理量。

それほど多くない場合、ファイルが存在するデバイスをめぐって複数のスレッドが競合するため、速度が低下する可能性がありますか? 事前にファイルを分割して、コンポーネントを別のデバイスに配置することをお勧めします。次に、ファイルごと、またはファイルのグループごとにプロセスを起動するだけです。

これには、分割、xargs -P unix コマンドを使用します。

于 2012-05-30T22:44:54.663 に答える