Xwine
			
				написал 16 сентября 2003 года в 00:56 (1578 просмотров)
			
			
			Ведет себя
			 как мужчина; открыл 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 декабря 2023 года в 15:00            →
        
        
            Перекличка
            21 OlegL, 17 декабря 2023 года в 15:00            →
        
        
            Перекличка
            21
-   REDkiy, 8 июня 2023 года в 9:09            →
        
        
            Как «замокать» файл для юниттеста в Python?
            2 REDkiy, 8 июня 2023 года в 9:09            →
        
        
            Как «замокать» файл для юниттеста в Python?
            2
-   fhunter, 29 ноября 2022 года в 2:09            →
        
        
            Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt?
            6 fhunter, 29 ноября 2022 года в 2:09            →
        
        
            Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt?
            6
-   Иванн, 9 апреля 2022 года в 8:31            →
        
        
            Ассоциация РАСПО провела первое учредительное собрание
            1 Иванн, 9 апреля 2022 года в 8:31            →
        
        
            Ассоциация РАСПО провела первое учредительное собрание
            1
-   Kiri11.ADV1, 7 марта 2021 года в 12:01            →
        
        
            Логи catalina.out в TomCat 9 в формате JSON
            1 Kiri11.ADV1, 7 марта 2021 года в 12:01            →
        
        
            Логи catalina.out в TomCat 9 в формате JSON
            1
 DevOps as a Service from Palark
DevOps as a Service from Palark
	24/7 SRE & DevOps service to cover all your Kubernetes needs.


 
							
Отец создает канал с известным именем (это типа инпут), а каждый из сыновей создает свой собственный канал (а это оутпут) , имя которого зависит от ID потока. В запросе к отцу сыновья в начале передают свои ID, а затем тело запроса. По этому ID отец и будет слать ответы.
Ну вот и все.
а зачем сыновьям пересылать свой PID?
отец и так их знает от форка …
Отец их может и знает, но вход то у него один и принимает он запросы от нескольких
дочерних потоков (и как он по твоему будет знать кому слать ответ!?). А от кого конкретно дынный пакет он будет узнавать по ID в пакете. За тем отец будет открывать канал, имя которого зависит от ID дочернего потока, чтобы отправить ответ на его запрос. Короче ID будет играть роль обратного адреса.
по поводу ИД в пакете … это ты уже зашёл в Message Queue а я про субж .
вопщем я уже решил эту фигню … я просто посылаю сигнал SIGUSR1 нужному сыну ( их ПИДы хранятся в массиве ) в отве ждёт сигнал SIGUSR2 ( диспозиции изменены соответственно )
ПС
мона конечно извратиться и забабахать для каждого сына свой пайп , но это уже будет труднее и памяти будет кушать много при большом колве сыновей .