美文网首页程序员
C++ 并发编程学习(六)

C++ 并发编程学习(六)

作者: rmrfany | 来源:发表于2018-12-27 08:57 被阅读0次

识别线程

一. 获得线程标识(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();
}

相关文章

网友评论

    本文标题:C++ 并发编程学习(六)

    本文链接:https://www.haomeiwen.com/subject/uboykqtx.html