Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 25, 2010 09:06:28

Eliont
От:
Зарегистрирован: 2010-05-30
Сообщения: 77
Репутация: +  0  -
Профиль   Отправить e-mail  

subprocess доступ к данным родителя

Задолбавшись этими потоками-кощеями, решил использовать подпроцессы, которые вполне убиваемы. В принципе-то работает, но тут возникает другая проблема - можно ли как-нибудь дать возможнось дочернему процессу изменять данные родителя как потоку?

P.S. По форуму смотрел, но такого вопроса вроде не поднималось.



Офлайн

#2 Авг. 25, 2010 10:12:47

alexx11
От:
Зарегистрирован: 2010-05-13
Сообщения: 208
Репутация: +  0  -
Профиль   Отправить e-mail  

subprocess доступ к данным родителя

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



Офлайн

#3 Авг. 26, 2010 20:50:28

Eliont
От:
Зарегистрирован: 2010-05-30
Сообщения: 77
Репутация: +  0  -
Профиль   Отправить e-mail  

subprocess доступ к данным родителя

Спасибо. Прочитал док, в принцие - почти то, что искал.
Только такой вопрос - а можно, например с помощью customized-managers, помещать в разделяемое пространство сразу экземпляры классов.

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

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

Но всё таки изначально хотелось чтобы по команде можно было стопануть текущие задачи (или сами потоки) и назначить им новые.



Офлайн

#4 Авг. 27, 2010 00:22:29

tmp_a6367100
От:
Зарегистрирован: 2010-08-23
Сообщения: 46
Репутация: +  0  -
Профиль   Отправить e-mail  

subprocess доступ к данным родителя

похоже что пишется какойто спаммер :-)



Офлайн

#5 Авг. 27, 2010 01:12:11

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

subprocess доступ к данным родителя

Коротко - экземпляры классов в разделяемую память помещать нельзя.



Офлайн

#6 Авг. 27, 2010 16:23:42

Eliont
От:
Зарегистрирован: 2010-05-30
Сообщения: 77
Репутация: +  0  -
Профиль   Отправить e-mail  

subprocess доступ к данным родителя

Жаль.
Значит буду выкручиваться или вернусь к реализации с потоками.

похоже что пишется какойто спаммер :-)
Нет, граббер.



Офлайн

#7 Авг. 27, 2010 19:22:30

tmp_a6062719
От:
Зарегистрирован: 2010-08-19
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

subprocess доступ к данным родителя

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

…они позваляют передавать (копировать) объекты между разными процессами



Офлайн

#8 Авг. 28, 2010 06:16:00

Eliont
От:
Зарегистрирован: 2010-05-30
Сообщения: 77
Репутация: +  0  -
Профиль   Отправить e-mail  

subprocess доступ к данным родителя

передавать (копировать) объекты между разными процессами
Спасибо. Уже почти дописал с потками, потм попробую порыть в этом направлении.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version