2011-10-01 10 views
2

それが言うモードのRandomAccessFileのコンストラクタを見てみると「RWS」The file is opened for reading and writing. Every change of the file's content or metadata must be written synchronously to the target device.RandomAccessFileは非同期で書き込みますか?

これは「RW」モードが非同期であることを意味していますか?ファイル書き込みが完了したことを知る必要がある場合は、 's'を含める必要がありますか?

答えて

5

RandomAccessFileは非同期で書き込みますか?

同期/非同期の区別は、writeコールが返される前にデータ/メタデータが安全にディスクに保存されていることを保証することを指します。同期モードが保証されていないと、書き込んだデータは、writeシステムコールが完了した時点でメモリに残っている可能性があります。 (オペレーティングシステムがクラッシュしたり、停電などでマシンが消えない限り、データはディスクに最終的に書き込まれます...)

同期モード出力は(明らかに)その非同期モード出力は遅くなります。

これは、モード 'rw'が非同期であることを意味しますか?

はい、上記の意味です。

ファイルの書き込みが完了したことを知る必要がある場合は、 's'を含める必要がありますか?

はい、「完了」とは、「ディスクに書き込まれた」という意味です。

3

複数のスレッドを使用する場合は、RandomAccessFileクラスとjava.ioクラスに当てはまります。モード "rw"は非同期読み取り/書き込みを提供しますが、読み取りと書き込みの操作にはsynchronousモードを使用できます。

関連する問題