Working with Asynchrony Generically: A Tour of C++ Executors
unifex::static_thread_pool workers; ex::sender auto accept_and_process_requests() { return ex::on(low_latency.get_scheduler(), accept_request()) | ex::transfer(workers.get_scheduler()) | ex::then([](auto process_request(request_t); extern unifex::static_thread_pool low_latency; extern unifex::static_thread_pool workers; unifex::taskaccept_and_process_requests() { while (true) { auto request = co_await co_await ex::on(low_latency.get_scheduler(), accept_request()); co_await ex::on(workers.get_scheduler(), process_request(request)); } } Or write it as a coroutine.17 Schedulers produce senders 0 码力 | 121 页 | 7.73 MB | 5 月前3
共 1 条
- 1