Я хотел иметь менеджер контекста, где я мог бы поместить некоторый код, который будет выполняться в отдельном потоке.
До сих пор я не мог найти способ достичь того, чего я хочу, лучшая альтернатива - написаниезакрытия и выполнение замыканий в отдельном потоке.
Я хочу что-то вроде этого
# 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, должно выполняться в отдельном потоке.