Найти - Пользователи
Полная версия: subprocess доступ к данным родителя
Начало » Python для новичков » subprocess доступ к данным родителя
1
Eliont
Задолбавшись этими потоками-кощеями, решил использовать подпроцессы, которые вполне убиваемы. В принципе-то работает, но тут возникает другая проблема - можно ли как-нибудь дать возможнось дочернему процессу изменять данные родителя как потоку?

P.S. По форуму смотрел, но такого вопроса вроде не поднималось.
alexx11
Eliont
изменять данные родителя
Just another python hacker. Теоретически можно имея прямой доступ к физической памяти :] Subprocess умеет общаться но другим образом, путём чтения и записи в пайп. Тебе вообще что надо: - убивать и иметь разделённую память? Смотри multiprocessing.
Eliont
Спасибо. Прочитал док, в принцие - почти то, что искал.
Только такой вопрос - а можно, например с помощью customized-managers, помещать в разделяемое пространство сразу экземпляры классов.

Тебе вообще что надо: - убивать и иметь разделённую память?
Убивать. Так как завершить изнутри подвисший поток не представляется возможным.

Хотя в моём случае (программа работает с сетью, ссылки открывают нити (и иногда на этом виснут), а основной поток - гуи) выкрутился установкой таймаута на urllib2.urlopen.

Но всё таки изначально хотелось чтобы по команде можно было стопануть текущие задачи (или сами потоки) и назначить им новые.
tmp_a6367100
похоже что пишется какойто спаммер :-)
Андрей Светлов
Коротко - экземпляры классов в разделяемую память помещать нельзя.
Eliont
Жаль.
Значит буду выкручиваться или вернусь к реализации с потоками.

похоже что пишется какойто спаммер :-)
Нет, граббер.
tmp_a6062719
Eliont
Значит буду выкручиваться
выкручиваться можно например, через “очереди” (модуля мультипроцессинга) …

…они позваляют передавать (копировать) объекты между разными процессами
Eliont
передавать (копировать) объекты между разными процессами
Спасибо. Уже почти дописал с потками, потм попробую порыть в этом направлении.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB