В многопоточной программе на C ++, использующей boost, есть ли способ получить указатель на текущий поток? - PullRequest
1 голос
/ 15 октября 2010

Мне нужно знать идентификатор текущего потока, чтобы отслеживать, какие потоки делают определенные запросы к общей структуре данных.

Ответы [ 2 ]

6 голосов
/ 15 октября 2010

Вы можете использовать boost::this_thread::get_id(), чтобы получить boost::thread::id, представляющий поток.

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

0 голосов
/ 15 октября 2010

Нет, но вы можете поддерживать hashmap пар: thread-id thread.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...