Должен ли я использовать std:: thread или Boost threads? - программирование
Подтвердить что ты не робот

Должен ли я использовать std:: thread или Boost threads?

Я новичок в С++ (из С#), пишу многопоточное приложение на С++ и задаюсь вопросом, что лучше использовать: std::thread или его коллега Boost?

Я видел следующее обсуждение в другой статье "Переполнение стека", но до сих пор не имеет полной картины того, почему я должен выбирать один из них. Если не запускать новую программу, следует ли использовать стандартную библиотеку или увеличить потоки?

Спасибо!

4b9b3361

Ответ 1

Если вы еще не используете boost в своем проекте, нет причин использовать boost:: thread в пользу std:: thread. То есть, если вы не используете какую-либо функцию из boost, недоступной в STL. std:: thread подходит для большинства случаев использования, и если не представлены убедительные аргументы, желательно всегда писать стандартный код.

Если вы уже используете boost в своем проекте, проверьте, добавляет ли boost:: thread ничего лишнего по сравнению с std:: thread.

Ответ 2

Имейте в виду, что Boost.Thread является переносной библиотекой и компилируется в широком диапазоне платформ/компиляторов, включая те, где std:: thread недоступен.

Ответ 3

Это действительно зависит от ваших привычек и предпочтений. С boost у вас есть целый набор библиотек, которые облегчают вашу жизнь, но их нужно будет установить в системе, в которую скомпилирована ваша программа, в то время как с потоками std все, что вам нужно, это компилятор cpp.