Уведомления

Группа в Telegram: @pythonsu

#1 Июль 2, 2010 18:38:22

Ed
От:
Зарегистрирован: 2008-12-13
Сообщения: 1032
Репутация: +  13  -
Профиль   Отправить e-mail  

Объект в потоке

Kogrom
Похоже, что так. И с ходу я не вижу элегантного решения этой проблемы, ибо запускающая функция не должна дожидаться ответа. Можно передавать объект среди параметров, который будет получать результат. Я пока делаю так. Но это не очень красиво.
Элегантное решение потребует другого подхода и скорее всего будет конфликтовать с вашей идеей о прозрачности.
В multiprocessing.Pool, например, для возврата результатов используются коллбэки. Но это же не то, что вы хотите, правда?



Офлайн

#2 Июль 2, 2010 21:30:33

Kogrom
От:
Зарегистрирован: 2009-12-03
Сообщения: 160
Репутация: +  0  -
Профиль   Отправить e-mail  

Объект в потоке

Ed
Элегантное решение потребует другого подхода и скорее всего будет конфликтовать с вашей идеей о прозрачности.
В multiprocessing.Pool, например, для возврата результатов используются коллбэки. Но это же не то, что вы хотите, правда?
Я об этом и говорю. Коллбэки не будут элегантным решением, так как противоречат идее прозрачности. Но эту идею и в принципе невозможно полностью реализовать на потоках. Разве что в своем языке, где все объекты будут жить в своих потоках. Медленно будет, но наиболее близко к жизни :) Возможно, в каком-нибудь смоллталке такое есть.

В общем, я обошелся коллбэками, которые передаю как параметры функций.



Офлайн

#3 Авг. 19, 2010 13:29:00

Kogrom
От:
Зарегистрирован: 2009-12-03
Сообщения: 160
Репутация: +  0  -
Профиль   Отправить e-mail  

Объект в потоке

Вроде бы нашёл компромисс для ловли исключений.

            except Exception:
sys.excepthook(*sys.exc_info())
Тут и стандартное сообщение об ошибке должно вывалиться и поток не сломается.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version