3、线程
3.1、线程的状态
1、五种状态
- 新建:新创建了一个线程对象。
- 就绪:该状态的线程位于“可运行线程池”中,变得可运行,只等待获取CPU的使用权。即在就绪状态的进程除CPU之外,其它的运行所需资源都已全部获得。
- 运行:就绪状态的线程获取了CPU,执行程序代码。
- 阻塞(等待):线程因为某种原因放弃CPU使用权,暂时停止运行
- 销毁
2、如何创建线程
pthread_create C++新增线程库。线程的创建是由AfxBeginThread()函数完成,函数中传参分别是线程回调函数、传递给线程回调函数的参数、优先级别、线程的堆栈值、创建线程时的初始状态和线程的安全属性。线程回调函数的创建格式为UINT MyCreateThread(LPVOID pParam),LPVOID表示任意类型的指针,一般传递创建线程的类的this指针。
#include <thread>
void Fun_1();
void Fun_2();
unsigned int counter = 0;
std::mutex mtx; //互斥锁
int main()
{
std::thread thrd_