- 线程ID:std::this_thread::get_id()获取线程ID
- 传递类对象时:虽然线程入口采用引用接收,但并不是真实的引用,而是相当于值传递,要调用一次拷贝构造;只有在传参时加上std::ref()才是真实的引用
- 当传入智能指针时,需要使用std::move()转换
- 用类的成员函数作为线程参数 (参数分别为 &成员函数名,对象名,参数)
#include#include using namespace std; class A { public: int m_i; A(int a):m_i(a){ cout<<"构造函数执行,地址为:"< buff) { cout<<"子线程2开始"< myptr(new int(100)); thread thread2(myprint2,std::move(myptr)); thread2.join(); //用类的成员函数作为线程参数 (参数分别为成员函数,对象,参数) thread thread3(&A::thread_word,myobj,15); thread3.join(); cout<<"主线程结束"< 欢迎分享,转载请注明来源:内存溢出
评论列表(0条)