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

Вниз

PostMessage & Thread   Найти похожие ветки 

 
ALex44   (2003-02-13 09:40) [0]

Privet vsem. Kto znaet tochno, kak rabotaet PostMessage? Tochnee, ya vysyvayu PostMessage v Thread1 v okno, sozdannoe v Thread2. V contexte kakogo Thread"a budet eta message vypolnyat"sya? Inymi slovami, correctno li ispol"zovat" PostMessage dlya synchronizatii?


 
MBo ©   (2003-02-13 09:49) [1]

Сообщение обрабатывается в контексте адресата.
Корректно, если учитывается возможность задержки приема сообщения, посланного PostMessage.


 
Fiend ©   (2003-02-13 09:50) [2]

нет, наверно не корректно, т.к. SendMessage посылает сообщение и ждёт его обработки, а PostMessage посылает и немедленно возвращается в вызывающий поток, тобишь не ждёт обработки


 
Fiend ©   (2003-02-13 09:52) [3]

Хотя то что говорит MBo тоже верно, тока на мой взгляд возможность задержки при обработке посланого сообщения учитывается функцией SendMessage, потому стоит ли изобретать велисапед???


 
Digitman ©   (2003-02-13 10:11) [4]

Если окно hWnd создано в код.потоке Thread2, то и приемом/диспетчеризацией/обработкой сообщений этому окну должен заниматься код.поток Thread2.

Код.поток Thread1, не будучи владельцем окна hWnd, по умолчанию никак не будет реагировать на сообщения, посланные конкретно окну hWnd, кем бы то ни было послано.

Иными словами, каждый код.поток, может либо должен принимать/диспетчеризовать/обрабатывать только те сообщения, которые адресованы непосредственно ему (см. PostThreadMessage как ф-ция отправки сообщений некоему код.потоку) либо окнам, им созданным (см. SendMessage, PostMessage как ф-ции отправки сообщений окнам, созданным неким код.потоком)


 
ALex44   (2003-02-13 10:20) [5]

OK, spasibo vsem. Mne, sobstvenno, nuzhno bylo tol"ko informirovat" Thread2 o zavershenii Thread1, v to vremya, kak Thread2 mog delat" chto-nibud" s dannymi Thread1 (i ON zhe dolzhen, poluchiv message, ih ubit"). Typichnyj(?) primer---player; Thread2 = VCL, t.e., ves" control, a Thread1---to, chto sobstvenno igraet file i dolzhno informirovat" VCL ob okonchanii.

Spasibo vsem eshe raz.


 
REA ©   (2003-02-13 10:59) [6]

Зачем использовать сообщения, когда есть много объектов синхронизации специально придуманных для этого?



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

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

Наверх




Память: 0.47 MB
Время: 0.012 c
3-75746
FreeLancer
2003-02-06 18:18
2003.02.24
Массовый INSERT


1-75870
Kair
2003-02-13 20:33
2003.02.24
Расширение файла


3-75787
Alexandr3
2003-02-06 12:11
2003.02.24
login failed


1-75993
lety
2003-02-11 22:49
2003.02.24
обработка событий


14-76091
cdadmitriy
2003-02-09 17:05
2003.02.24
Virtual COM port