识别线程
一. 获得线程标识(std::thread::id )
std::thread 对象的成员函数 get_id() 来直接获取,如果 std::thread 对象没有与任何执行线程相关联, get_id() 将返回std::thread::type 默认构造值,这个值表示“没有线程”。
当前线程中调用 std::this_thread::get_id()
std::thread::id 实例常用作检测线程是否需要进行一些操作,比如:当用线程来分割一项工作,主线程可能要做一些与其他线程不同的工作。
std::thread::id master_thread;
void some_core_part_of_algorithm()
{
if(std::this_thread::get_id()==master_thread)
{
do_master_thread_work();
}
do_common_work();
}
网友评论