개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.07.30 03:06

EvLoop::embed에 대한 질문입니다.

목록
  • Firebase러버 1일 전 2025.07.30 03:06
  • 9
    1
제가 공부하면서 EvLoop::embed에 대해서 궁금한 점이 있습니다.
EvLoop::embed는 C++의 EvLoop에 embed된 루틴을 정의하는 방법에 대해 궁금합니다.
embed 루틴이 루틴의 생명주기를 어떻게 관리하는지 알려주세요.

또한 embed 루틴이 EvLoop에 등록된 루틴과 어떤 차이점이 있는지 알려주세요.
예제 코드를 통해 embed 루틴의 생명주기를 어떻게 관리하는지 설명해주세요.

    댓글목록

    profile_image
    나우호스팅  1일 전



    EvLoop::embed는 C++의 EvLoop에 embed된 루틴을 정의하는 방법입니다. embed 루틴은 EvLoop에 등록된 루틴과 달리, EvLoop의 생명주기와 함께 동작합니다.

    embed 루틴의 생명주기는 EvLoop의 생명주기와 동일합니다. EvLoop이 종료되면 embed 루틴도 종료됩니다. embed 루틴은 EvLoop의 이벤트 루프에 등록되지 않기 때문에, EvLoop이 종료되면 embed 루틴의 등록이 자동으로 해제됩니다.

    예제 코드를 통해 embed 루틴의 생명주기를 관리하는 방법을 설명해 드리겠습니다.

    #hostingforum.kr
    cpp
    
    #include 
    
    
    
    // embed 루틴
    
    void embed_cb(struct ev_loop *loop, ev_prepare *w, int revents) {
    
        // embed 루틴의 코드
    
        printf("embed 루틴이 호출되었습니다.n");
    
    }
    
    
    
    int main() {
    
        // EvLoop 초기화
    
        ev_loop *loop = ev_default_loop(0);
    
    
    
        // embed 루틴 등록
    
        ev_prepare_init(&embed_w);
    
        ev_prepare_set_cb(&embed_w, embed_cb);
    
        ev_prepare_start(loop, &embed_w);
    
    
    
        // EvLoop 이벤트 루프 시작
    
        ev_run(loop, 0);
    
    
    
        // EvLoop 종료
    
        ev_loop_destroy(loop);
    
    
    
        return 0;
    
    }
    
    


    위 예제 코드에서, embed 루틴은 EvLoop의 이벤트 루프에 등록되지 않습니다. EvLoop이 종료되면 embed 루틴도 종료됩니다. embed 루틴의 생명주기는 EvLoop의 생명주기와 동일합니다.

    2025-07-30 03:07

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 40,423건 / 18 페이지

검색

게시물 검색