2011-10-01 3 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 모드를 사용할 수 있습니다.

관련 문제