라이브러리
[PHP] EvLoop::timer - 현재 이벤트 루프 인스턴스와 연관된 EvTimer 워처 객체를 생성합니다.
EvLoop::timer 소개
EvLoop::timer는 PHP의 EvLoop 클래스에서 제공하는 timer 함수입니다. 이 함수는 특정 시간이 지난 후에 callback 함수를 호출하는 데 사용됩니다. EvLoop::timer는 비동기적으로 작동하므로, 다른 작업을 수행할 수 있습니다.
EvLoop::timer 사용법
EvLoop::timer를 사용하려면 다음 코드를 참고하세요:
#hostingforum.kr
php
use EvEvLoop;
$loop = new EvLoop();
// 5초 후에 callback 함수를 호출합니다.
$timer = $loop->timer(5, function () {
echo "5초가 지났습니다.
";
});
// 10초 후에 callback 함수를 호출합니다.
$timer2 = $loop->timer(10, function () {
echo "10초가 지났습니다.
";
});
// 루프를 시작합니다.
$loop->run();
EvLoop::timer 옵션
EvLoop::timer에는 여러 옵션을 제공할 수 있습니다. 예를 들어, 반복적으로 callback 함수를 호출하고 싶다면 `repeat` 옵션을 사용할 수 있습니다.
#hostingforum.kr
php
use EvEvLoop;
$loop = new EvLoop();
// 5초마다 callback 함수를 호출합니다.
$timer = $loop->timer(5, function () {
echo "5초가 지났습니다.
";
}, 0, true); // repeat 옵션을 true로 설정합니다.
// 루프를 시작합니다.
$loop->run();
EvLoop::timer 취소
EvLoop::timer를 취소하려면 `stop` 메서드를 사용할 수 있습니다.
#hostingforum.kr
php
use EvEvLoop;
$loop = new EvLoop();
// 5초 후에 callback 함수를 호출합니다.
$timer = $loop->timer(5, function () {
echo "5초가 지났습니다.
";
});
// 3초 후에 timer를 취소합니다.
$loop->timer(3, function () use ($timer) {
$timer->stop();
});
// 루프를 시작합니다.
$loop->run();
EvLoop::timer 예제
EvLoop::timer를 사용하여 간단한 타이머를 구현할 수 있습니다.
#hostingforum.kr
php
use EvEvLoop;
class Timer {
private $loop;
private $timers = [];
public function __construct(EvLoop $loop) {
$this->loop = $loop;
}
public function add($time, $callback) {
$timer = $this->loop->timer($time, $callback);
$this->timers[] = $timer;
}
public function run() {
$this->loop->run();
}
public function stop() {
foreach ($this->timers as $timer) {
$timer->stop();
}
}
}
$loop = new EvLoop();
$timer = new Timer($loop);
// 5초마다 callback 함수를 호출합니다.
$timer->add(5, function () {
echo "5초가 지났습니다.
";
});
// 10초마다 callback 함수를 호출합니다.
$timer->add(10, function () {
echo "10초가 지났습니다.
";
});
// 루프를 시작합니다.
$timer->run();
// 3초 후에 timer를 취소합니다.
$loop->timer(3, function () use ($timer) {
$timer->stop();
});
이 예제에서는 EvLoop::timer를 사용하여 간단한 타이머를 구현했습니다. 타이머는 5초마다 callback 함수를 호출하고, 10초마다 callback 함수를 호출합니다. 3초 후에 타이머를 취소합니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.