| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Много потоков, один файл, сколько |
| Автор: EnergoHokum 12.7.2007, 12:53 |
| Подскажите, если один файл открыть несколькими потоками используя fopen, указатель на текущую точку (fpos_t, курсор) будет один или по курсору на поток? |
| Автор: bsa 12.7.2007, 12:59 |
| Из определения потоков - один. |
| Автор: EnergoHokum 12.7.2007, 13:05 |
| То есть, если я в одном потоке говорю fseek(), то у остальных курсор тоже должен сдвинуться? |
| Автор: JUmPER 12.7.2007, 13:10 |
| fseek(), в итоге, воздействует на данные в таблице открытых файлов, доступ осуществляется по одному дескриптору => сдвинется у всех PS: правда, остаётся открытым вопрос о буфферизации уровнем выше: будет ли синхронизация? |
| Автор: W4FhLF 12.7.2007, 13:12 |
| Не проще ли будет проверить? |
| Автор: EnergoHokum 12.7.2007, 13:13 |
| Доступ к файлу разруливаю через mutex, ты это имел в виду под синхронизацией? Добавлено через 1 минуту и 11 секунд Уже, блин, целый день проверяю, за*** (устал) проверять. |
| Автор: JUmPER 12.7.2007, 13:49 |
нет, я о валидности данных в буферах fopen - это же надстройка над системным вызовом, она имеет свой буфер. |
| Автор: EnergoHokum 13.7.2007, 14:26 |
| Ффух! Вроде получил то, что надо, теперь со спокойной душой можно отдохнуть. Всем спасибо!!! |