• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
我是张洪铭我是熊博士
时光静好,与君同;细水长流,与君语
博客园    首页    新随笔    联系   管理    订阅  订阅

C++多线程库的常用函数 std::this_thread::get_id()

格式:函数 + 头文件 + 用例 + 解释说明

 

函数:
std::this_thread::get_id()

头文件:
<thread>


用例:
std::thread::id master_thread = std::this_thread::get_id();

 

另一种获取线程标识符 id 的办法:

线程标识类型为std::thread::id

可以通过调用std::thread对象的成员函数get_id()来直接获取。
如果std::thread对象没有与任何执行线程相关联,get_id()将返回std::thread::type默认构造值,这个值表示“无线程”。

 

 

练习代码:

#include <QCoreApplication>
#include <thread>
#include <iostream>

struct run{
    run(short num):m_num(num){}
    void operator()(){
        std::cout<<"run num is "<<m_num<<std::endl;
    }
private:
    short m_num;
};
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    std::thread::id id = std::this_thread::get_id();
    std::cout<<"this thread id is "<<id<<std::endl;

    std::thread t(run(100));
    std::cout<<"thread t id is "<<t.get_id()<<std::endl;
    t.join();
    return a.exec();
}

 

输出结果:

 

posted @ 2021-10-08 20:19  我是张洪铭我是熊博士  阅读(7550)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3