我将给大家带来新的一部分内容——《C++多线程从放弃到入门》系列,为了节约时间,文中只针对重要的概念进行讲解,做到入门即用,很多地方并没有做到十分全面,希望读者能理解,同时也希望感兴趣的读者自行深入研究,文中的实例均有可运行的源代码,欢迎大家学习和交流!感谢大家支持。

(一)线程/进程基本概念

1. 进程
进程是资源调度的基本单位,运行一个可执行程序会创建一个或多个进程,进程就是运行起来的可执行程序

2. 线程
线程是程序执行的基本单位,是轻量级的进程。每个进程中都有唯一的主线程,且只能有一个,主线程和进程是相互依存的关系,主线程结束进程也会结束。

3. 并发(多线程)
多个线程同时执行,由于处理器CPU个数有限,不同任务之间需要分时切换,这种切换是有开销的,操作系统需要保持切换时的各种状态。线程一多大量的时间用于切换,导致程序运行效率低下。

3.1 实现方法

多进程实现并发

进程之间可以通过管道,文件,消息队列,共享内存进程通信

不同电脑之间通过socket通信

单进程中多线程

一个进程中的所有线程共享地址空间(共享内存),例如:全局变量,指针、引用都可以在线程之间传递