Я пытаюсь записать в один файл из нескольких потоков. Проблема, с которой я сталкиваюсь, заключается в том, что я не вижу ничего записываемого в файл, пока программа не завершится.
Вам нужно file.flush, чтобы выписать это. Вы также можете установить file.sync = true для автоматического сброса.
file.flush
file.sync = true
Каково значение метода синхронизации для вашего объекта io? Возможно, что либо ruby, либо лежащие в его основе o / s буферизируют вывод файла.
Проверьте ссылки на буферизацию и синхронизацию в документации