Я хотел бы вызвать функцию в потоке. Вызов его с помощью обычного API выглядит следующим образом:
from threading import Thread
import numpy as np
a = np.random.rand(int(1e8),1)
Thread(target=np.savez_compressed, args=('/tmp/values.a', dict(a=a))).start()
Мне было интересно, если бы Pythoni c имел возможность сделать этот многопоточный вызов с более чистым API, без определения функции, которая задает c для np.savez_compressed
.
Например, что-то в стиле (псевдокода):
@make_threaded
np.savez_compressed('/tmp/values.a', dict(a=a))
К сожалению, декораторы могут применяться только к определениям функций, поэтому приведенный выше псевдокод недопустим.
РЕДАКТИРОВАТЬ : Я специально не ищу API-интерфейс декоратора. Скорее, более чистый способ сделать вызов функции многопоточным