Поток 1 (T1) создает файл, используя
FILE *MyFile = tmpfile();
Поток 2 (T2), затем начинает запись в файл.В то время как поток 2 пишет, поток 1 иногда читает из файла.
Я настроил его так, что T2 временно приостанавливается, когда T1 читает, но, поскольку T1 только когда-либо читает часть файла, T2 не будетя пишу (файл записывается последовательно), мне интересно, если приостановка T2 необходима.Я знаю, что все будет в порядке, если FILE будет заменен на массив / вектор фиксированного размера.Просто интересно, чем диск отличается от памяти.
Редактировать.
Запись выполняется с использованием fseek и fwrite.Чтения выполняются с использованием fseek и fread.Я предполагал, что это было дано, но возможно не от некоторых комментариев.Я полагаю, что если T1 сместится в положение X в то же время, что и T2 сместится в положение Y, то кто знает, откуда начнется следующее чтение или запись.Посмотрим на трубы, спасибо за помощь.