大きなファイル (ファイル サイズは 30 MB から 1 GB の範囲) に 10 スレッドでアクセスし、ファイル内の各行を処理して、10 スレッドで別のファイルに書き込みたいと考えています。1 つのスレッドのみを使用して IO にアクセスすると、他のスレッドがブロックされます。この処理には、ファイル システムから 1 行のコードを読み取るのとほぼ同じ時間がかかります。もう 1 つの制約があります。出力ファイルのデータは、入力ファイルのデータと同じ順序でなければなりません。
このシステムの設計について、あなたの考えを知りたいです。ファイルへの同時アクセスをサポートする既存の API はありますか?
また、同じファイルに書き込むと、デッドロックが発生する可能性があります。
時間の制約が気になる場合は、これを達成する方法を提案してください。