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()
#дальнейший код
→ Ссылка