Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.013 c
3-16923
Beka
2003-02-16 12:14
2003.03.06
Проблемы c Transaction и Session


1-17154
aade
2003-02-21 16:54
2003.03.06
Выход из цикла


7-17422
DDS
2003-01-06 13:23
2003.03.06
Как узнать процедуры и функции DLLки на экспорт?


4-17432
Керик
2003-01-16 19:55
2003.03.06
Подключение к интернету


14-17313
hatchy
2003-02-15 14:24
2003.03.06
Ошибка в коде




   Наверх