私はこれについてすべて間違っているかもしれませんが、ここに私の問題と提案された解決策があります:
非常に迅速に処理する必要がある数億の独立したレコードを含む 50 ギガバイト以上のファイルがあります。私の現在のソリューションは、1 時間あたり 7,400 万レコードを取得しています。I/O スレッドにブロッキング キューを使用しています。各ワーカー スレッドは、このキューからデータのチャンクを取得しようとします。
上記は、I/O スレッドとワーカー スレッド間のミューテックスの競合により、かなり遅くなります。
ロックなしでこのスタイルのプロデューサー/コンシューマーを行う方法はありますか?