Один процесс Python записывает обновления статуса в файл для чтения другими процессами. В некоторых случаях обновления статуса происходят многократно и быстро в цикле. Самый простой и быстрый подход - использовать open (). Write () в одной строке:
open(statusfile,'w').write(status)
Альтернативный подход с четырьмя строками, которые принудительно записывают данные на диск. Это приводит к значительному снижению производительности:
f = open(self.statusfile,'w')
f.write(status)
os.fsync(f)
f.close()
Я не пытаюсь защитить себя от сбоя ОС. Итак, заставляет ли этот подход данные помещаться в буфер ОС, чтобы другие процессы считывали самые новые данные о состоянии при открытии файла с диска? Или мне нужно использовать os.fsync ()?