Главная страница
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.5 MB
Время: 0.025 c
1-1090401422
BlackSun
2004-07-21 13:17
2004.08.08
Форма с вечным фокусом


14-1090415459
Piter
2004-07-21 17:10
2004.08.08
Эксперименты с русским языком в английской windows


1-1090565921
Jaxtor
2004-07-23 10:58
2004.08.08
Уничтожение всех объектов данного класса


1-1090510832
DeScriptor
2004-07-22 19:40
2004.08.08
Экземпляр класса в качестве свойства другого класса


1-1090818575
TIN
2004-07-26 09:09
2004.08.08
Защита программы