5

追加のためにファイルYを開くXプロセスがあるとしましょう。各プロセスは、一度に1行(\ nを含む)のみを書き込みます(実際にはエントリをログに記録します)。

ファイルYで各行が誤ってインターリーブされないことが保証されていますか?

更新:ローカルに接続されたファイルシステム。

4

1 に答える 1

0

質問は、どのタイプの書き込みが行われているかによって異なります。通常、ほとんどのプログラムのデフォルトであるバッファリング付きの標準I / Oを使用している場合、バッファは数行が書き込まれた後にのみフラッシュされ、フラッシュされたときに必ずしも整数行になるとは限りません。write(2)を使用している場合、またはデフォルトのstdioバッファリングを行またはバッファなしに変更した場合、行が適切なサイズである限り(確かに、行が512バイト未満の場合)、正しくインターリーブされる可能性があります。

于 2012-07-17T02:00:15.600 に答える