Форум сайта python.su
0
Доброго времени суток всем. Возникла нембольшая проблемка, не могу возвратить результат работы функции в функцию, из которой она была вызвана. Может кто-нибудь помочь, что не так?
import threading def work (inic): sum_=inic+'0000' print(sum_) return sum_ def fist(): print('fist!') mass_data = threading.Thread(target=work, args'1')) mass_data.start() print('OK!') Как тут принять результат (10000), чтобы дальше с ним работать внутри этой функции? print(sum_) fist() Если это делать без потоков, то все получается, но мне необходимо, чтобы именно в отдельном потоке вызывалась функция. def work (inic): sum_=inic+'0000' print(sum_) return sum_ def fist(): print(work('1')) fist()
Отредактировано nik.iwan2017 (Июль 14, 2018 16:58:08)
Офлайн
253
nik.iwan2017Никак. В этот момент нет никаких гарантий что он существует.
Как тут принять результат
nik.iwan2017Очень интересно. Это у вас карма такая все в отдельных потоках вызывать? Проку в такой постановке от потоков никакой благодаря gil.
но мне необходимо, чтобы именно в отдельном потоке
Офлайн