Xwine
написал 16 сентября 2003 года в 00:56 (1437 просмотров)
Ведет себя
как мужчина; открыл 20 тем в форуме, оставил 91 комментарий на сайте.
вoпрoс тaкoй . есть thread oтец и дoпустим 3 thread-a сынa . мoжнo ли сделaть тaк чтo б инпут пaйпa был oдин для oтцa , a oтпутoв 3 ( пo кoл-ву сынoвей) ? если дa тo кaк ?
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
ecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.
Отец создает канал с известным именем (это типа инпут), а каждый из сыновей создает свой собственный канал (а это оутпут) , имя которого зависит от ID потока. В запросе к отцу сыновья в начале передают свои ID, а затем тело запроса. По этому ID отец и будет слать ответы.
Ну вот и все.
а зачем сыновьям пересылать свой PID?
отец и так их знает от форка …
Отец их может и знает, но вход то у него один и принимает он запросы от нескольких
дочерних потоков (и как он по твоему будет знать кому слать ответ!?). А от кого конкретно дынный пакет он будет узнавать по ID в пакете. За тем отец будет открывать канал, имя которого зависит от ID дочернего потока, чтобы отправить ответ на его запрос. Короче ID будет играть роль обратного адреса.
по поводу ИД в пакете … это ты уже зашёл в Message Queue а я про субж .
вопщем я уже решил эту фигню … я просто посылаю сигнал SIGUSR1 нужному сыну ( их ПИДы хранятся в массиве ) в отве ждёт сигнал SIGUSR2 ( диспозиции изменены соответственно )
ПС
мона конечно извратиться и забабахать для каждого сына свой пайп , но это уже будет труднее и памяти будет кушать много при большом колве сыновей .