《C++ Concurrency in Action》笔记2 线程函数传参(3)类成员函数

来源:互联网 发布:忠邦的梦 知乎 编辑:程序博客网 时间:2024/05/22 20:38
示例1:
class A{public:A(int m) :n(m) {};void f(){cout << n << endl;}int n = 0;};void call_by_main(){thread t(&A::f, A(123));t.detach();system("pause");}
没什么好说的,就是这么调用。输出结果为:
123请按任意键继续. . .
可以传递对象指针,要注意线程执行顺序,对象生命期。示例2:
class A{public:A(int m) :n(m) {};void f(){cout << n << endl;n = 456;}int n = 0;};void call_by_main(){A a(123);thread t(&A::f, &a);t.join();cout << "after thread:" << a.n << endl;system("pause");}

输出结果为:
123after thread:456请按任意键继续. . .


阅读全文
0 0