bfiber_0800
Boost.Fiber Integrating Fibers with Asynchronous Callbacks - Return Errorcode
Integrating Fibers with Asynchronous Callbacks - Return Errorcode
비동기 콜백과 파이버 통합 - 반환 오류 코드
AsyncAPI::init_write() 콜백은 오류 코드만 전달합니다.
단순히 차단 래퍼가 해당 오류 코드를 반환하도록 하려면 promise<>와 future<>를 매우 간단하게 사용하면 됩니다.
우리가 해야 할 일은 다음과 같습니다:
- 올바른 유형의 promise<>를 인스턴스화합니다.
- future<>를 얻습니다.
- promise::set_value()를 호출하도록 콜백을 준비합니다.
- future::get()을 차단합니다.
• Note
보류 중인 파이버를 재개하는 이 전략은 시작 파이버가 실행 중인 스레드가 아닌 다른 스레드에서 콜백이 호출되는 경우에도 작동합니다.
실제로 예제 프로그램의 더미 AsyncAPI 구현은 다음을 보여줍니다.
잠시 대기하는 새 스레드를 시작한 다음 관련 콜백을 호출하여 비동기 I/O를 시뮬레이션합니다.
Email
답글이 올라오면 이메일로 알려드리겠습니다.