Как запустить код под контекстным менеджером в отдельном потоке? - PullRequest
1 голос
/ 11 октября 2019

Я хотел иметь менеджер контекста, где я мог бы поместить некоторый код, который будет выполняться в отдельном потоке.

До сих пор я не мог найти способ достичь того, чего я хочу, лучшая альтернатива - написаниезакрытия и выполнение замыканий в отдельном потоке.

Я хочу что-то вроде этого

# code runs on main thread
print("this is main thread")

with amazingcontextmanager:
    # code to run in separate thread
    print("this is not main thread")

edit: позвольте мне попытаться задать свой вопрос снова

@contextlib.contextmanager
def amazingcontextmanager():
    try:
        yield
    finally:
        print("thread done")

Я хочуyield выполнить в новом потоке. В основном все, что я помещаю в contextmanager, должно выполняться в отдельном потоке.

...