В С++ 03 я использовал pthread с встроенным пулом потоков, который всегда поддерживал пару потоков (так как pthread_create
медленный), таким образом я смог запускать потоки для небольших задач, не думая о производительности вопросы.
Теперь в С++ 11 имеем std::thread
. Я предполагаю, что стандарт ничего не говорит о конкретной реализации, поэтому мой вопрос касается стандартных реализаций библиотек. Обычно ли они выбирают объединенный подход, когда построение std::thread
является дешевым (и, например, не вызывает pthread_create
в posix), или будет std::thread
просто быть оберткой?
Другими словами, это пул потоков, который по-прежнему рекомендуется использовать в С++ 11, или мне нужно просто создать std::thread
, когда мне это нужно, и оставить производительность до стандартной библиотеки?