bfiber_0500
Boost.Fiber Synchronization Template packaged_task
Synchronization Template packaged_task
packaged_task<>는 반환 값이 비동기적으로 계산될 수 있도록 값을 반환하는 호출 가능 대상을 래핑합니다.
packaged_task<>의 일반적인 사용법은 다음과 같습니다.
- 콜러블(callable)의 서명과 일치하는 템플릿 인수를 사용하여 packaged_task<>를 인스턴스화합니다. 콜러블을 생성자에 전달합니다.
- packaged_task::get_future()를 호출하고 반환된 future<> 인스턴스를 캡처합니다.
- 파이버를 시작하여 새 packaged_task<>를 실행하고 원래 콜러블에 필요한 인수를 전달합니다.
- 새로 시작된(newly-launched) Fiber에서 fiber::detach()를 호출합니다.
- 나중에 future<>에서 결과를 검색합니다.
실제로 이는 fibers::async()가 캡슐화하는 것과 거의 같습니다.
⚛ 원문
Email
답글이 올라오면 이메일로 알려드리겠습니다.