使用C++实现多线程实例【ubuntu16.04环境 C++11】
需要引用头文件:`thread` 【C++11线程标准库】
注意:编译时 g++ <filename.cpp> -o main -lpthread -std=c++11
如果不添加编译选项:`lpthread` 则会报错:`collect2: error: ld returned 1 exit status`
多线程代码实例
#include <iostream>
#include <thread>
using namespace std;
thread::id main_thread_id = this_thread::get_id(); //获取当前线程的句柄id
void hello() //测试单线程
{
if (this_thread::get_id() == main_thread_id)
{
cout << "this is main thread" << endl;
}
else
{
cout << "this is not main thread" << endl;
}
}
void p_thread(int n) //线程睡眠n s
{
this_thread::s