C++多线程-chap1多线程入门6
这里,只是记录自己的学习笔记。
lambda临时函数作为线程入口函数
1 #include <iostream> 2 #include <string> 3 #include <thread> 4 5 using namespace std; 6 7 //lambda临时函数作为线程入口函数 8 9 10 //线程入口为类成员 lambda 函数 11 class TestLambda{ 12 public: 13 void Start() { 14 thread th([this]() {cout << "name= " << name<< endl; }); 15 th.detach(); 16 } 17 18 string name = "test lambda"; 19 }; 20 21 int main() { 22 23 // 用 lambda 表达式作为线程入口函数,并接收一个参数 24 thread th( 25 [](int i) { 26 cout << "lambda i:" << i << endl; 27 }, 666); 28 th.join(); 29 30 31 TestLambda test; 32 test.Start(); 33 34 35 36 getchar(); 37 return 0; 38 }