Почему я должен использовать std :: async?

Я пытаюсь подробно изучить все возможности нового стандарта C ++ 11, но, используя std :: async и читая его определение, я заметил две вещи, по крайней мере, в Linux с gcc 4.8.1:

это называетсяасинхронной, но он получил действительно «последовательное поведение», в основном в строке, где вы называетебудущее связано с вашей асинхронной функциейFooпрограмма блокируется до выполненияFoo это законченоэто зависит от той же внешней библиотеки, что и другие, и от лучших неблокирующих решений, что означаетpthread, если вы хотите использоватьstd::async тебе нужно

на данный момент для меня естественно спросить, зачем выбирать std :: async даже для простого набора функторов? Это решение вообще не масштабируется, чем больше вы звоните, тем менее отзывчивой будет ваша программа.

Я что-то пропустил ? Можете ли вы показать пример, который может быть выполнен асинхронно, без блокировки?

Ответы на вопрос(5)

Ваш ответ на вопрос