Как? Тебе же нужно чтобы твои корутины не висели на потоке, а шедулилились вместо этого.
Когда асинхронную запрашиваем операцию, корутина (не обязательно плюсовая) сохраняет своё состояние и делает выход, пул приступает к следующей корутине, когда асинхронная операция завершается, первая корутина снова отправляется в пул на исполнение, с того места где завершилась. Пока этот контракт поддерживается всё хорошо