Async () против потоков на производительность и контроль

я смотрюПервый день GoingNative 2012, доклад Бьярна Страуструпа «Стиль C ++ 11» с 1:05:13 кажется он продвигалasync() чем нить.

Интересно, прошло уже 4 года в мире C ++, в чем плюсы и минусыasync() против потоков, с точки зрения производительности и контроля?

Есть разные мнения, которые я потерял:

Например, по производительности: один ТАК постПоток C ++ 11 против асинхронной производительности (VS2013) говорит, что создание потока стоит дорого («200 000 циклов ЦП в ОС Windows»), ноasync() будет использовать пул потоков так дешевле; но еще один постСможет ли async (launch :: async) в C ++ 11 сделать пулы потоков устаревшими во избежание дорогостоящего создания потоков? не думайте так («У ОС есть много причин, по которым они должны делать создание потоков как можно дешевле»)

Что касается контроля, ранее мое впечатление, что многопоточность позволяет больше контроля; но так постAsync против потоков, когда использовать каждую опцию? на C # говорится: «У потоков есть НЕКОТОРЫЕ преимущества, когда вы не можете контролировать параметры потоков низкого уровня - что ОЧЕНЬ редко».

Кроме того, я полагаю, что производительность / контроль сильно зависит от реализации. Так что мне интересно, через 4 года после Бьярне продвижениеasync()Как дела в мире C ++, по сравнению с многопоточностью, с точки зрения производительности и контроля?

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

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