delay
(PHP 8.6+, True Async 1.0)
delay() — 지정된 밀리초 동안 현재 코루틴의 실행을 일시 중단합니다.
설명
delay(int $ms): void
코루틴을 일시 중단하고 스케줄러에 제어를 양보합니다. $ms 밀리초 후에 코루틴이 재개됩니다.
대기 중에도 다른 코루틴은 계속 실행됩니다.
매개변수
ms
밀리초 단위의 대기 시간입니다. 0이면 코루틴은 단순히 스케줄러에 제어를 양보합니다(suspend()와 유사하지만 큐잉 포함).
반환 값
반환 값이 없습니다.
예제
예제 #1 기본 사용법
<?php
use function Async\spawn;
use function Async\delay;
spawn(function() {
echo "Start\n";
delay(1000); // 1초 대기
echo "1 second passed\n";
});
?>
예제 #2 주기적 실행
<?php
use function Async\spawn;
use function Async\delay;
spawn(function() {
while (true) {
echo "상태 확인 중...\n";
delay(5000); // 5초마다
}
});
?>
참고
참고:
delay()는 전체 PHP 프로세스를 차단하지 않습니다 — 현재 코루틴만 차단됩니다.
참고:
delay()는 스케줄러가 아직 시작되지 않은 경우 자동으로 시작합니다.