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

Вниз

Одновременная посылка сообщения всем дочерним потокам   Найти похожие ветки 

 
ColoredCD-R   (2004-07-23 12:13) [0]

Возможно ли сделать сабж? Запуск в цикле PostThreadMessage не годится, т.к. не одновременно придет 1-е и последнее сообщение.


 
Суслик ©   (2004-07-23 12:16) [1]


> т.к. не одновременно придет 1-е и последнее сообщение.

а это вам вообще не светит. Потоки выполняются поочередно.

Чую вам нужна TEvent какой нить с manual reset.


 
ColoredCD-R   (2004-07-23 12:21) [2]

Дак надо чтоб СООБЩЕНИЕ было отослано одновременновсем потокам! И все равно как там они будут черездоваться, гдавное чтоб я знал, что я отослал всем сообщение одновременно... и осн. прогармма перешла к выполнению последующих операторов...


 
Fay ©   (2004-07-23 12:23) [3]

"Одновременно" - это миф. Существует только у Вас в голове.


 
Суслик ©   (2004-07-23 12:27) [4]

вам рано за это браться...
в общем-то я уже сказал выше про tevent.
это то, что вам нужно.


 
Суслик ©   (2004-07-23 12:28) [5]

можешь посмотерть в книге Рихтера 4 изд главу 26, там есть, что тебе нужно.


 
ColoredCD-R   (2004-07-23 13:07) [6]

2 Fay ©  

Не знаешь - не глупствуй.

2 Суслик ©  

Сенкс. Как полностью книга называет, чтоб я ее мог купить. И мог бы ты посмотреть там в общих чертах, что использует автор, чтобы достичь сабжа? Какие АПИ ф-ции может юзает?


 
VMcL ©   (2004-07-23 13:10) [7]

>>ColoredCD-R  (23.07.04 13:07) [6]

http://podgoretsky.com/ftp/Docs/Classics/Richter/


 
Суслик ©   (2004-07-23 13:26) [8]


> ColoredCD-R   (23.07.04 13:07) [6]
> 2 Fay ©  
>
> Не знаешь - не глупствуй.

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

вообще тебе надо его всего читать: про потоки уж как минимум.

ЗЫ.
Если времени нет особо читай целенаправелно про event. В дельфи есть класс обертка - я его выше присел.


 
Fay ©   (2004-07-23 13:32) [9]

2Суслик ©   (23.07.04 13:26) [8]
Тоже? А ко мне каким боком?


 
Суслик ©   (2004-07-23 14:21) [10]


> Fay ©   (23.07.04 13:32) [9]

прости, не врено составил фразу.
:)


 
ColoredCD-R   (2004-07-23 14:49) [11]

Я вообще-то не глупствовал, а задал актуальный вопрос. А на счет потоков, я там знаю многое, т.к. только такие проги заказывают. В чем заключается моя глупость?
А в книге я не нашел ответа на мой вопрос.


 
Smithson ©   (2004-07-23 15:33) [12]

Передать сообщение больше чем одному получаетлю одновремненно в windows невозможно. Только последловательно. Что тут непонятного?
Если тебе критично именно одновременное (паралельное) уведомление, то сделать это можно только атомарной операцией. Тебе предложили использовать для этого event. Сбросил event - передал сообщение. Что тут непонтного?


 
Суслик ©   (2004-07-23 15:39) [13]


> А в книге я не нашел ответа на мой вопрос.

книга минимум 600 страниц.
указанная мной глава минимум 80 страниц. Я ее в свое время неделю читал :))

В общем так:
1) Если потоку НЕ нужно обрабатывать очередь сообщений, то используй event (manual reset)+ waitforsingleobject()
2) Если потому НУЖНО обрабатывать очередь сообщений, то у тебя два варианта:
  1) Все последовательнос послать сообщения через PostThreadMessage
  2) Также воспльзоваться event, но только НЕ waitforsingleobject, а MsgWaitForMultipleObjects.

Все, этого достаточно. Выбирай сам, что тебе больше нравится.


 
Суслик ©   (2004-07-23 15:41) [14]


> В чем заключается моя глупость?

в этом

> т.к. не одновременно придет 1-е и последнее сообщение.


ЗЫ.
Без обид, я просто на вопрос отвечал



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

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

Наверх




Память: 0.49 MB
Время: 0.032 c
1-1090426125
AlexR
2004-07-21 20:08
2004.08.08
Как отследить потерю фокуса


3-1089796456
Темно-серый
2004-07-14 13:14
2004.08.08
Проблема с украинским языком


1-1090901198
race1
2004-07-27 08:06
2004.08.08
обратная память


9-1082132856
Xerx
2004-04-16 20:27
2004.08.08
Системы частиц


14-1090440735
Саша
2004-07-22 00:12
2004.08.08
Softlice