私はクアッドコアマシンを持っていて、4つのコアすべてを利用するテキストファイルを解析するためのコードを書きたいと思っています。テキストファイルには、基本的に1行に1つのレコードが含まれています。
マルチスレッドは私の得意分野ではないので、ファイルを最適な方法で解析するために使用できるパターンを誰かが教えてくれるかどうか疑問に思っています。
私の最初の考えは、すべての行をある種のキューに読み込んでから、スレッドをスピンアップして行をキューから引き出して処理することですが、それはキューがメモリに存在する必要があり、これらはかなり大きなファイルなので、私はmその考えにはそれほど熱心ではありません。
私の次の考えは、行を読み取り、解析するスレッドを割り当てるある種のコントローラーを用意することですが、スレッドが行を処理する速度よりも速く行を処理している場合、コントローラーがボトルネックになるかどうかはわかりません。それらを読んで割り当てます。
私はおそらくこれらの両方よりも別の簡単な解決策があることを知っていますが、現時点ではそれを見ていません。