В JavaScript я использую возможность вызова функций, которые будут выполняться позднее, например
function foo() {
alert('bar');
}
setTimeout(foo, 1000);
Это не блокирует выполнение другого кода.
Я не знаю, как добиться чего-то подобного в Python. Я могу использовать сон
import time
def foo():
print('bar')
time.sleep(1)
foo()
но это заблокирует выполнение другого кода. (Фактически в моем случае блокирование Python не было бы проблемой само по себе, но я не смог бы unit test метод.)
Я знаю, что потоки предназначены для выполнения вне синхронизации, но мне было интересно, существует ли что-то более простое, похожее на setTimeout
или setInterval
.