Ну, например, я бы сделал специальный поток, который из буфера вычитывает очередной блок данныз (слово), пишет его в файл, потом засыпает на определенное время, потом поаторяет.
Делать так в основном потоке "не есть гут", т.к. тогда основной поток можно заблокировать. Хотя можно тоже самое сделать и а основном потоке по таймеру. Смысл остается тем же. Есть буффер, в него помещается информация, которую надо записать. Допотнительный поток или по таймеру производит считывание очередного блока данных из буфера и запись в файл. Потом пауза.
ЗЫ. Кстати, не забыть, что файловые операции обычно еще буферизируются на уровне системы/библиотеки. Т.е. физическаза запись в файл на диске происходит либо в момент заполнения этого буфера, либо в момент закрытия файла (если размер данных меньше размера системного буфера).
|