Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как узнать, используется ли файл другим потоком? [D4, Win2k]


Frogkiller ©   (2002-02-28 23:00:00) 

Подскажите пожалуйста, как мне (т.е. не мне а потоку) узнать открыт ли файл другим потоком этой же программы. Или как открыть файл так, чтобы им могли пользоваться сразу несколько потоков. В моем случае один поток пишет данные в файл, а другой эти данные читает.


Raptor   (2002-03-01 12:42:00) [1]

Попробуй открыть его с эксклюзивным доступом. Если возникнет ошибка, значит файл уже кем-то используется. А для того что бы файл могли использовать несколько потоков надо открывать его с общим доступом. Как это сделать смотри в описании OpenFile()в хелпе.


Anonim   (2002-03-01 10:00:00) [2]

Через объекты синхронизации (Critical section, mutex и т п.)
TMultiReadExclusiveWriteSynchronizer подойдет.


Алексей Петров   (2002-03-01 08:51:00) [3]

Вопрос немного сумбурен. Попробуйте сформулировать его иначе, более четко.

Вообще говоря, если вы получили Handle файла при его открытии, он действителен для всех потоков данного процесса.

Но для того, чтоб писати и читать не мешая друг другу лучше открыть 2 раза файл указав соответствующий режим совместного доступа.


Наверх

Титульная страница Поиск, карта сайта Написать письмо