简介
C++ 11 之后有了标准的线程库:std::thread。本文针对thread介绍多线程的基本语法,并做案例展示。
基本语法
头文件: #include <thread>
thread 参数: thread(Fn&& fn, Args&&… args);
说白了fn就是需要执行的函数指针(函数名),args是需要传入fn的参数
thread.get_id() : 获取线程 ID
thread.join() : 此线程执行完之后才能继续执行
thread.detach() : 将当前线程对象所代表的执行实例与该线程对象分离,使得线程的执行可以单独进行。
程序案例
简单的案例
void func(int limit) {
cout << "This is func thread " << endl;
int s = 0;
for (int i = 0; i < limit; i++)
s += i;