Показать сообщение отдельно
  #2  
Старый 09.08.2022, 23:24
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,004
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

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

ЗЫ. Кстати, не забыть, что файловые операции обычно еще буферизируются на уровне системы/библиотеки. Т.е. физическаза запись в файл на диске происходит либо в момент заполнения этого буфера, либо в момент закрытия файла (если размер данных меньше размера системного буфера).
Ответить с цитированием