[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico] [Índice de assunto]

RE: Metodo SYNC



Luis Campos de Carvalho writes:
 > 
 > 	Pessoal, eu gostaria de saber o que deve fazer o metodo sync do DBFile.
 > 
 > 	Eu acho que ele deve sincronizar o DBFile no disco, mas isso apenas se
 > faz necessario para o pessoal dos niveis superiores ( Page e DBMan ). O DBFile
 > nao precisa de sync, pois tudo o que vem / e vai dele eh diretamente gravado no
 > RandomAccessFile... 

Sim, tudo que é escrito num DBFile é imediatamente escrito num
RandomAccessFile. Mas isso não significa que os dados sejam
imediatamente escritos em disco. O método write do RandomAccesssFile
simplesmente chama a system call write() do Linux. Como o Linux tem
buffers de I/O, para garantir que os dados sejam imediatamente escritos 
em disco você precisa executar a system call fsync() do Linux (veja a
man page: man 2 fsync). 

O método sync() da class java.io.FileDescriptor executa a system call
fsync(). 

Reverbel