Size: a a a

2020 July 31

AS

Anatoly Shirokov in supapro.cxx
Denis Paukaev
Обычно детач потоков нужно просто избегать
толку от такого потока, которые в деструкторе локальной переменной thread убъет поток или тупо блокирнуться на join-е. detached потоки  гораздо более  распространенный кейс.
источник

ПК

Побитый Кирпич... in supapro.cxx
Denis Paukaev
В винде как и в других системах нормальным сценарием завершения приложения считается когда до завершения основного потока завершаются все остальные, так что join в том или ином виде надо будет сделать, тогда вопрос зачем себе усложнять жизнь )
На винде как раз есть PPL, он же Concurrency Runtime. И там как раз есть свой тред пул, которым ты как раз не владеешь. По сути для тебя это N detach потоков
источник

DP

Denis Paukaev in supapro.cxx
Побитый Кирпич
На винде как раз есть PPL, он же Concurrency Runtime. И там как раз есть свой тред пул, которым ты как раз не владеешь. По сути для тебя это N detach потоков
Не слышал про это
источник

DP

Denis Paukaev in supapro.cxx
Винда при завершении основанного потока убьет все другие потоки приложения
источник

DP

Denis Paukaev in supapro.cxx
Без вызовов деструкторов и прочего
источник

ПК

Побитый Кирпич... in supapro.cxx
Denis Paukaev
Не слышал про это
std::async через этот тред пул реализован тоже
источник

DP

Denis Paukaev in supapro.cxx
Тем не менее при завершении процесса все потоки будут убиты
источник

DP

Denis Paukaev in supapro.cxx
И это кривой не прод вариант
источник

ПК

Побитый Кирпич... in supapro.cxx
Denis Paukaev
Тем не менее при завершении процесса все потоки будут убиты
Убиты будут, но this переданный туда протухнет раньше и может успеть заюзаться
источник

DP

Denis Paukaev in supapro.cxx
Побитый Кирпич
Убиты будут, но this переданный туда протухнет раньше и может успеть заюзаться
Зачем вообще в эту сторону рассуждать если можно не использовать детач и все
источник

ПК

Побитый Кирпич... in supapro.cxx
Denis Paukaev
Зачем вообще в эту сторону рассуждать если можно не использовать детач и все
Смотри пример с тред пулом, там нет детача никакого
источник

ПК

Побитый Кирпич... in supapro.cxx
если тред пул умирает после объекта, то в нём может заюзаться this
источник

DP

Denis Paukaev in supapro.cxx
Я не использую std::async, и никому не советую
источник

DP

Denis Paukaev in supapro.cxx
Но это мое мнение
источник

DP

Denis Paukaev in supapro.cxx
Тут кому уже как ближе
источник

D

Danya in supapro.cxx
Побитый Кирпич
На винде как раз есть PPL, он же Concurrency Runtime. И там как раз есть свой тред пул, которым ты как раз не владеешь. По сути для тебя это N detach потоков
tbb::task_group
!
источник

ПК

Побитый Кирпич... in supapro.cxx
Denis Paukaev
Я не использую std::async, и никому не советую
Да, он пока не юзабелен, но это пока
источник

D

Danya in supapro.cxx
Побитый Кирпич
Да, он пока не юзабелен, но это пока
co_await std::async(...);?)
источник

AE

Alexander Eremin in supapro.cxx
Denis Paukaev
Я не использую std::async, и никому не советую
почему не советуешь юзать?
источник

SH

Serhii Herashchenko in supapro.cxx
Denis Paukaev
Я не использую std::async, и никому не советую
+
источник