Python запуск функции без ожидания возврата
Подскажите варианты решения следующей проблемы:
Работаю с api, и в некоторый момент мне надо вызвать функцию постобработки данных программы, т.е. деятельность этой функции никак не скажется на дальнейшем выполнении программы, но при этом выполняется достаточно долго условно говоря
def A(a1,a2):
time.sleep(max(a1,a2))
#некоторый код
A(100,150)
#дальнейший код
Я бы хотел запустить эту функцию параллельно, но как я почитал что ни subprocess.Popen() ни возможности asyncio не ускорят выполнение этой задачи из-за принципа GIL. Как можно указать программе, что не надо дожидаться завершения функции
Ответы (1 шт):
Автор решения: eri
→ Ссылка
Асинкио требует чтоб весь код был асинхронным. Так как не вижу у вас в примере async\await предположу что код синхронный.
Просто запусти в треде
def A(a1,a2):
time.sleep(max(a1,a2))
#некоторый код
threading.Thread(target=A,args=(100,150)).start()
#дальнейший код