Как завершить темы, используя их идентификатор? C ++ - PullRequest
0 голосов
/ 12 ноября 2018

Есть ли способ завершить поток, используя идентификатор потока или даже получить объект Thread, используя идентификатор потока?

1 Ответ

0 голосов
/ 12 ноября 2018

Нет ничего, что вы можете сделать только из std::thread::id.Это просто уникальное представление всех работающих в данный момент потоков.

Его основная цель - использовать его в качестве индексного типа для ассоциативных контейнеров, поэтому вы можете использовать его в качестве ключа в * 1004.* или std::unordered_map, и затем используйте его для поиска объекта std::thread.

Как только вы нашли объект std::thread, вы можете получить его native_handle, а затем использовать специфичные для ОС механизмы дляостановить поток.Например, в Posix это будет pthread_cancel.

...