Я пытаюсь изучить все варианты нового стандарта C ++ 11 в глубине, используя STD :: async и прочитав его определение, я заметил 2 вещи, по крайней мере, под Linux с GCC 4.8.1 :
- это называется «Эм>», но это действительно «Поведенческое поведение». будущее , связанное с вашей асинхронной функцией foo , программа блокирует до тех пор, пока не будет выполнено foo . pthread .
На данный момент это естественно для меня, спрашивающего, почему выбор STD :: async даже за простым набором функторов? Это решение, которое даже вообще не масштабируется, чем больше будущего вы называете, тем менее отзывчивой будет ваша программа.
Я что -то упускаю? Можете ли вы показать пример, которому можно было бы выполнить в асинхронном, не блокирующем, способ?
Подробнее здесь:
https://stackoverflow.com/questions/179 ... e-stdasync