![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как работает TEvent? [D5]
newbie2 © (2007-12-11 15:39:00)Привет, All!
поясните как работает этот класс?
ситуация такая, в моей dll две экспортируемые функции, dll'ку одновременно могут юзать несколько приложений, для разделения ресурсов использую
Event.WaitFor(1000);
...
Event.SetEvent;
если в dll'ке введу свой экземпляр TEvent для каждой функции это не залочит общую работу программы?
спасибо
Сергей М. (2007-12-11 16:17:00) [1]
> newbie2 (11.12.07 16:01) [4]
А зачем тогда куча функций ?
Что мешает обойтись одной ?
DiamondShark (2007-12-11 16:17:00) [2]
> Event.WaitFor(1000);
> ...
> Event.SetEvent;
А тебе разве пофиг, как завершился WaitFor, таймаутом или сигналом?
А если пофиг, то нафиг?
> newbie2 (11.12.07 16:01) [4]
Ивент тут ни при чём. Для защиты неразделяемого ресурса тора предписывает мьютекс.
MetalFan (2007-12-11 16:11:00) [3]неправильно както используешь имхо
newbie2 (2007-12-11 16:01:00) [4]dll'ка работает со сторонним апаратным комплексом (запрашивае от него данные) сейчас получается такая ситуация:
- пришел поток1, запросил через dll'ку данные
- пришел поток2, запросил данные
- апарат начал отдавать данные dll'ки по запросу потока1
- но данные попали к потоку2 он их не понял и выдал ошибку
чтоб этого не происходило я использую Event
Сергей М. (2007-12-11 15:59:00) [5]
> 1000
Вот это число с какой луны свалилось ?
Почему не 0 или не 1000000 ?
tesseract (2007-12-11 15:57:00) [6]
> dll'ку одновременно могут юзать несколько приложений, для
> разделения ресурсов использую
DLL-ка для каждого приложения своя. Данные между ними смешиваться не должны. Синхронизация в приложении должна быть.
Сергей М. (2007-12-11 15:42:00) [7]Какой ресурс (или ресурсы) ты хочешь защитить с пом. этого объекта синхронизации ?