Потоки с декоратором в Python - PullRequest
2 голосов
/ 17 октября 2019

Я нахожусь в поиске способа создания потоков с помощью обертки, но результат функции обертки ДОЛЖЕН быть по-прежнему доступен.

Посредством поиска в Stackoverflow появилось не очень идеальное решение. Как показано в приведенном ниже коде:

def thread_run(func):
    """
    :param func:
    :return:
    """
    def wrapper(*args, **kwargs):
        s = threading.Thread(target=func, args=args, kwargs=kwargs)
        s.daemon = True
        s.start()
        return s
    return wrapper

с этой оболочкой недостаточно, потому что:

@thread_run
def powers(number):
    return number**2


if __name__ in "__main__":
   print(powers(2))  #out put <Thread(Thread-1, stopped daemon 123145406771200)>

Я хочу, чтобы вывод фрагмента был 4 print(powers(2))

что мне делать?

...