C++多线程笔记1 学会使用四种方式创建c++线程
文章目录
1.线程和进程概念关系:
进程是一组离散的(执行)程序任务集合;
线程是进程上下文中执行的代码序列;
两者之间具体关系:
线程是进程的可执行单元,是计算机分配CPU机时的基本单元。一个进程可以包含一个或多个线程,进程是通过线程去执行代码的。同一个进程的多个线程共享该进程的资源和操作系统分配给该进程的内存空间。每个进程必须有一个主线程,主线程退出之后该进程也就退出了。一个进程的主线程是由系统创建的。
在单CPU中,表面上看好像是多个进程中的多个线程共同执行,实际上是操作系统根据调度规则、依次的 将一个一个的线程可执行代码加载进CPU中执行的;即,CPU在同一时刻只能执行一段代码,由于CPU的频率非常快,迅速的在各个线程间进行切换,所以给人的感觉就好像是多个线程共同执行。
在多核CPU的电脑中,确实是多个线程共同执行,因为多核处理器中,每个核拥有自己的缓存、寄存器和运算器。
2.C++创建新线程的四种方式:
方式一(不推荐):CreateThread(记得关闭线程句柄)
CreateThread是一种微软在Windows API中提供了建立新的线程