В чем разница между future
и shared_future
?
В каких случаях мы должны использовать shared_future
вместо future
?
Я пытался найти хорошую документацию, которая будет противопоставлять эти две функции С++ 11, и я не мог найти ответ (как минимум, легко читаемый) в Интернете.
Это мое текущее понимание различий
-
future
объект может быть запрошен только один раз дляget()
. -
shared_future
может запрашиваться любое количество раз.
прецедент:
Если несколько потоков зависят от результата асинхронной задачи, мы должны использовать shared_future
.
Если будущий объект нужно запрашивать несколько раз в одном и том же потоке, мы должны использовать вместо него shared_future
.
Приветствуется любая дополнительная информация, gotchas или общие рекомендации...