0

「プログラムの終了後に OS がファイルを閉じる場合、なぜプログラマは手動でファイルを閉じる必要があるのfile.close()ですか (つまり、 を呼び出す) 」という本からの質問を読みました。

私が思いついた唯一の理由は、プログラムが正しく終了せず、ファイルがまだ開いている可能性があり、ファイルがバッファーに保持されているため、システムリソースを消費している可能性があるということです。

他に理由はありますか?

編集:別の理由を考えました。を呼び出すfile.close()と、OS は、ファイルにコミットされていない変更をディスクにフラッシュする必要があります。

4

2 に答える 2

1

プログラマーがファイルを手動で閉じると、リソースがいつ/どのように解放されるかを制御できます。

OS に任せていると、クリーンアップがいつ行われるか、または行われるかどうかを確認できず、一般的には悪い習慣でもあります。

于 2013-04-06T18:44:19.180 に答える
1

場合によっては、プログラムが何度も open を呼び出すため、ファイル記述子が再び解放されないとファイル記述子が不足してしまいます。

于 2013-04-06T18:48:28.363 に答える