Использовать блокировку файлов. Я считаю, что fcntl совместим с POSIX, поэтому должен работать и на Windows. Использует ли ваш код вызовы Posix?
С помощью fcntl вы сможете блокировать определенный диапазон байтов. Так что, если вы хотите завершить работу и попытаться заблокировать количество байтов, которые вы собираетесь записать, это должно быть довольно быстро. Чтобы получить блокировку, вы, вероятно, можете вращаться, отказываясь от процессора на некоторое время, если вы не получаете блокировку.