LINUX.ORG.RU

python: общение между форками


0

0

Имеются форки, которым необходимо обмениваться информацией. Сокеты-пайпы не очень подходят, так как часто информация, созданная одним процессом требуется 2-3 другими процессами.

Нормальный system v-шный ipc в питоне отсутствует (хотя когда-то был).

Есть какой-нить человеческий вариант?

★★★★★

Re: python: общение между форками

Может pyro.sf.net ?

redvasily ()

Re: python: общение между форками

А почему именно форки? Потоки не подходят?

Можно использовать сокеты(обычные) и форк-контроллер

Motiv_studenta ★★ ()

Re: python: общение между форками

>Нормальный system v-шный ipc в питоне отсутствует (хотя когда-то был).

На Парнасе было

anonymous ()
Ответ на: Re: python: общение между форками от DonkeyHot

Re: python: общение между форками

> import mmap

Что-то в этом есть, подумаю...

> Или multicast сокеты.

Слишком мудрено. Вся остальная система окажется проще, чем обмен данными унутре.

AngryElf ★★★★★ ()
Ответ на: Re: python: общение между форками от AngryElf

Re: python: общение между форками

>С потоками я [censored] уже неделю. Нормальной многозадачности ввиду GIL пытаюсь добится.

А можно поподробней? У меня сообщения между потоками сделаны через очередь. В чем проблема с многозадачностью?(это не укор, а просто очень интересно)

Motiv_studenta ★★ ()
Ответ на: Re: python: общение между форками от Motiv_studenta

Re: python: общение между форками

Претензии были изложены тут (обсуждать удобнее уже тут - та тема далеко ушла) - http://www.linux.org.ru/jump-message.jsp?msgid=1651901

Главный вопрос (цитата из той темы):

================

Почитал это - http://www.python.org/doc/faq/library/#id15

Там говорится, что процессы запускаются строго поочередно, "что б не повредить случайно что-нить параллельной записью". Нафига тогда, спрашивается, нужны локи, если умный интерпретатор с помощью GIL сам лочит всё и вся?

================

AngryElf ★★★★★ ()
Ответ на: Re: python: общение между форками от AngryElf

Re: python: общение между форками

Я уже погуглил. Тоесть даже на многопроцессорной машине работает всего один поток...маразм. Либо еще один изврат, либо переползу на другой язык. Смотрю на специфику-похоже второе...

Motiv_studenta ★★ ()
Ответ на: Re: python: общение между форками от Motiv_studenta

Re: python: общение между форками

А меня бы на 100% устроил обычный system-v ipc, который почему-то выбросили... Пока еще с тредами извращаюсь, но, боюсь, буду что-то другое думать.

AngryElf ★★★★★ ()
Ответ на: Re: python: общение между форками от AngryElf

Re: python: общение между форками

Может подскажешь-есть куча потоков, которые принимают данные от клиентов(сокеты). Обрабатывают и заносят в очередь. Там один поток извлекает данные и заносит в массив, отправляет информацию об изменениях всем остальным(в определенной области). Как такое реализовать с форками? Подключение к клиенту не подходит

Дело в том, что поток работающий с клиентом только принимает информацию=(. И всегда висит на ожидании прибытия её

Motiv_studenta ★★ ()
Ответ на: Re: python: общение между форками от Motiv_studenta

Re: python: общение между форками

В ipc есть те же семафоры, очереди и шаренная память. Не вижу проблемы в реализации этой задачи форками.

AngryElf ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.