
EvLoop::loopFork 함수를 호출하면, 현재 이벤트 루프를 분기시키고 새로운 이벤트 루프를 생성합니다. 이 새로운 이벤트 루프는 현재 이벤트 루프와 독립적으로 이벤트를 처리할 수 있습니다.
fork된 이벤트 루프에서 이벤트를 처리하는 방법은 다음과 같습니다.
1. fork된 이벤트 루프를 얻은 후, 이벤트를 등록하고 처리할 수 있습니다. 예를 들어, fork된 이벤트 루프에서 TCP 연결을 수신할 수 있습니다.
2. fork된 이벤트 루프는 현재 이벤트 루프와 마찬가지로 이벤트를 등록하고 처리할 수 있습니다. 예를 들어, fork된 이벤트 루프에서 타이머 이벤트를 등록하고 처리할 수 있습니다.
3. fork된 이벤트 루프는 현재 이벤트 루프와 독립적으로 이벤트를 처리하므로, fork된 이벤트 루프에서 이벤트를 처리하는 동안 현재 이벤트 루프에서 이벤트를 처리할 수 있습니다.
fork된 이벤트 루프에서 이벤트를 처리하는 예제는 다음과 같습니다.
#hostingforum.kr
cpp
// 현재 이벤트 루프를 분기시키고 새로운 이벤트 루프를 생성합니다.
EvLoop* forkedLoop = evLoop->loopFork();
// fork된 이벤트 루프에서 TCP 연결을 수신할 수 있습니다.
forkedLoop->registerReadEvent(fd, [](EvLoop* loop, int fd) {
// fork된 이벤트 루프에서 TCP 연결을 수신한 경우 처리합니다.
});
// fork된 이벤트 루프에서 타이머 이벤트를 등록하고 처리할 수 있습니다.
forkedLoop->registerTimerEvent(1000, [](EvLoop* loop) {
// fork된 이벤트 루프에서 타이머 이벤트를 처리합니다.
});
// 현재 이벤트 루프에서 이벤트를 처리합니다.
evLoop->run();
fork된 이벤트 루프에서 이벤트를 처리하는 방법은 위와 같이 fork된 이벤트 루프를 얻은 후, 이벤트를 등록하고 처리할 수 있습니다.
2025-07-31 06:59