2014-11-30 2 views
0

Я хотел знать, какая разница между boost :: thread и boost :: thread_group является состоянием documentation.Разница между Boost Thread и thread_group

thread_group предоставляет коллекцию нитей, относящихся к некоторой моде. Новые потоки могут быть добавлены в группу с помощью add_thread и функций-членов create_thread. thread_group не копируется или подвижный.

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

ответ

0

Группа нитей - это группа нитей.

Вы должны использовать его всякий раз, когда вы хотите управлять группой потоков, которые логически разделить цель, срок службы и т.д.

Э.Г. при написании очереди задач с пулом рабочего threads¹, строительство нитей и уничтожения их не является тривиальным с

  • безопасность исключения
  • присоединений объединяемых тема во всех трактах кода

So вы должны использовать thread_group, чтобы получить все это оборудование автоматически.


¹ см здесь для примера: Boost group_threads Maximal number of parallel thread

Смежные вопросы