2017-02-02 5 views
-3

私はマルチスレッドプログラムを作成しています。これらのスレッドはすべて、そのデータを1つのファイルに書き込む必要があります。 これらのスレッドは、何らかの付加専用ログのために異なる文字列しか書いていません。複数のスレッドが1つのファイルに書き込むためのベストプラクティスは何ですか?

出力のためにスレッド間でファイルを共有するベストプラクティスは何ですか?

+1

個人的には、すべてのスレッドが共有コンテナにデータを書き込んだ後、コンテナからデータを抽出してファイルに書き込む別のスレッドがあるとします。 – NathanOliver

+2

ファイル書き込み用のロック機構があることを確認してください。 – Jeyaram

+3

ベストプラクティスは、共有と競合を避けることです。 –

答えて

0

(将来の質問のために、その情報をコメントではなく質問に入れてください)スレッドにファイルアクセスを行わないように強くおすすめします。ロギングがそのスレッドの残りの部分でパフォーマンスに悪影響を与えることを意味します。

そのため、NathanOliverの提案では、スレッドを共有コンテナに書き込んだ後、そのコンテナをファイルにダンプすることをお勧めします。

関連する問題