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