
EvLoop::loopFork는 이벤트 루프를 분기하는 메서드입니다.
1. loopFork를 호출한 후, 이벤트 루프는 두 개의 이벤트 루프가 생성되며, 이전 이벤트 루프는 여전히 작동합니다. 두 이벤트 루프는 독립적으로 이벤트를 처리합니다.
2. loopFork를 호출한 후, 이전 이벤트 루프는 여전히 이벤트를 처리하지만, 새로운 이벤트 루프가 생성된 후에는 이전 이벤트 루프에 대한 참조가 유지되지 않습니다. 따라서 이전 이벤트 루프를 사용하는 코드는 새로운 이벤트 루프를 사용하는 코드와 분리되어야 합니다.
이벤트 루프를 분기하는 방법은 다음과 같습니다.
#hostingforum.kr
cpp
EvLoop* loop = EvLoop::defaultLoop();
EvLoop* childLoop = loop->loopFork();
// childLoop는 새로운 이벤트 루프를 생성합니다.
// loop은 여전히 이전 이벤트 루프를 사용합니다.
이벤트 루프를 분기한 후, 이벤트를 처리하는 코드는 다음과 같습니다.
#hostingforum.kr
cpp
// childLoop에서 이벤트를 처리합니다.
childLoop->run();
// loop에서 이벤트를 처리합니다.
loop->run();
이벤트 루프를 분기한 후, 이전 이벤트 루프를 사용하는 코드는 다음과 같습니다.
#hostingforum.kr
cpp
// 이전 이벤트 루프를 사용합니다.
loop->run();
이벤트 루프를 분기한 후, 새로운 이벤트 루프를 사용하는 코드는 다음과 같습니다.
#hostingforum.kr
cpp
// 새로운 이벤트 루프를 사용합니다.
childLoop->run();
2025-08-06 06:32