std::thread 正常调用:
#include <thread>
#include <unistd.h>
#include <iostream>
using namespace std;
void *std_thread_call()
{
int i = 0;
for(i = 0; i < 5; i++){
cout << "hello world!" << endl;
sleep(1);
}
}
int main(int argc, const char *argv[])
{
thread t1(std_thread_call);
t1.join();
cout << "exit" << endl;
return 0;
}
std::thread结合lambda(匿名函数)的使用:
#include <thread>
#include <unistd.h>
#include <iostream>
using namespace std;
void *std_thread_call()
{
int i = 0;
for(i = 0; i < 5; i++){
cout << "hello world!" << endl;
sleep(1);
}
}
int main(int argc, const char *argv[])
{
std::thread{[]{ //此处使用了lambda函数
int i = 0;
for(i = 0; i < 5; i++){
cout << "hello world!" << endl;
sleep(1);
}}
}.detach();
while(count < 10){
cout << "exit" << endl;
sleep(1);
count ++;
}
return 0;
}