Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.06;
Скачать: CL | DM;

Вниз

потоки в Dll   Найти похожие ветки 

 
Palladin ©   (2003-01-07 22:16) [0]

Имеет ли смысл Synchronize для создания потока в динамической dll? или поток вообще в dll рекомедуется?


 
Владимир   (2003-01-08 00:05) [1]

Synchronize применяется для временной замены главного потока приложения, в случаях когда синхронизируемый поток обращается к общим ресурсам или VCL.


 
Verg ©   (2003-01-08 11:16) [2]

Synchronize, по-моему, применяется дли синхронихации текущего потока с главным (или с тем, который создал текущий), т.е. процедура указанная в параметре Sync. будет выполнена главным потоком (т.е. в его контексте) в тот момент, когда главный поток обратиться к своей очереди сообщений. Игра идет на особенности вызова sendmessage, когда в параметре HWND указывается хендл окна созданного в контексте другого потока.

Никакого контекста dll я здесь не вижу. Это как бы "из разных опер".


 
Слесарь Матерящийся ©   (2003-01-08 11:48) [3]

>Имеет ли смысл Synchronize для создания потока в динамической >dll? или поток вообще в dll [не] рекомедуется?

Для синхронизации доступа к общим данным для двух (трёх и т.д. ) потоков лучше использовать критичские секции.



 
Palladin ©   (2003-01-08 15:46) [4]

по поводу "из разных опер"
по моей идее поток должен инициализироватся и запустится сразу после загрузки dll причем не по вызову из главной проги а на Initialization
и соответственно освободится в ExitProc dll

вот меня и интересовало при таком типе создания этот поток будет иметь родительский (главный) поток с которым будет synchronize или нет?

а можно про критические секции поподробней?


 
Digitman ©   (2003-01-08 16:08) [5]

Если конструктор объекта TThread.Create(..) вызывается впервые (абсолютно неважно где, в каком модуле приложения и в какой секции его кода) и вызов этот происходит не в осн.код.потоке процесса, то по кр.мере в Д5 метод Synchronize() без спец.принимаемых мер работать ожидаемым образом не будет



Страницы: 1 вся ветка

Текущий архив: 2003.03.06;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.022 c
14-17277
Карелин Артем
2003-02-19 10:00
2003.03.06
Классификатор адресов.


3-16858
AlexG
2003-02-17 14:46
2003.03.06
Чтение данных из RemoteDateModul


14-17368
Delph
2003-02-18 17:23
2003.03.06
Есть ли эмулятор лазерного принтера?


14-17320
Saracin
2003-02-16 12:05
2003.03.06
Где можно найти описание InstallShield Express статьи, книги,...


14-17309
LameroZZ
2003-02-14 23:57
2003.03.06
!!!!! ini-файлы & реестр !!!!!