Есть два потока. Один в конец файла всегда пишет, второй поток из этогоже файла всевремя вычитывает, из середины. Можно ли это делать так, чтоб одновременно были открыты файлы из двух потоков, и чтоб один поток не дожидался закрытия другого.
Нашел параметры типа CFile::shareDenyNone, так вот у меня с этими параметрами в дебаг режиме вылетает синий экран.
Заранее всем спасибо.
Re: одновременное обращение к одному файлу из нескольких пот
Здравствуйте, MrOduvanchik, Вы писали:
MO>Есть два потока. Один в конец файла всегда пишет, второй поток из этогоже файла всевремя вычитывает, из середины. Можно ли это делать так, чтоб одновременно были открыты файлы из двух потоков, и чтоб один поток не дожидался закрытия другого.
MO>Нашел параметры типа CFile::shareDenyNone, так вот у меня с этими параметрами в дебаг режиме вылетает синий экран.
MO>Заранее всем спасибо.
используй maping файлов
CreateFileMapping в одном потоке, OpenFileMapping в другом
создай именованный объект
только если ты заранее не знаешь размер файла, выделяй по максимуму
Мне твоя Москва нравится, и обратно в Россию я не вернусь! (с) мыльная о.
Re: одновременное обращение к одному файлу из нескольких пот
Здравствуйте, MrOduvanchik, Вы писали:
MO>Есть два потока. Один в конец файла всегда пишет, второй поток из этогоже файла всевремя вычитывает, из середины. Можно ли это делать так, чтоб одновременно были открыты файлы из двух потоков, и чтоб один поток не дожидался закрытия другого. MO>Нашел параметры типа CFile::shareDenyNone, так вот у меня с этими параметрами в дебаг режиме вылетает синий экран. MO>Заранее всем спасибо.
А не легче ли открыть файл на чтение и запись — передать дискриптор в оба потока и в одном спокойно писать а вдугом читать (правда при таком варианте возможны проблемы с перекрытием данных — когда один еще не дописал и другой уже прочитал от туда), но эта проблема рашаеться симафорами или другими способами синхронизации.
Glück auf
Re: одновременное обращение к одному файлу из нескольких пот
Здравствуйте, MrOduvanchik, Вы писали:
MO>Есть два потока. Один в конец файла всегда пишет, второй поток из этогоже файла всевремя вычитывает, из середины. Можно ли это делать так, чтоб одновременно были открыты файлы из двух потоков, и чтоб один поток не дожидался закрытия другого.