C++多线程编程第一讲-并发的基本概念及实现,进程、线程基本概念

/*第一节 并发基本概念与实现,进程、线程基本概念*/

//(1)并发、进程、线程的基本概念和综述
	//(1.1)并发:两个或者更多的任务同时进行,一个程序同时执行多个独立的任务。
	// 单核cpu某一个时刻只能执行一个任务;单核cpu实行多任务的方式是进行任务切换实现的。
	// 这是一种并发的假象。任务之间的切换也是要有时间开销的。
	// 多核cpu上可以实现真正的并发(同时执行多个任务-硬件并发)。
	// 使用并发的原因就是同时可以执行多个任务,提高性能。
	//(1.2)可执行程序:就是磁盘上的一个文件,windows:exe,linux rwx
	//(1.3)进程:可执行程序运行起来就产生一个进程。
	//(1.4)线程:每个进程都会有一个主线程,并且主线程是唯一的。当执行一个可执行程序,主线程
	// 随着进程一起启动。实际上是进程的主线程来调用main来执行。除了主线程之外,程序员可以
	// 写代码创建其他的线程。线程也并不是越多越好,每一个线程需要占用堆栈内存。
	// 线程是用来执行代码的。一个新的线程代表一个新的通路。创建线程的数量不建议
	// 超过200-300。一个进程中最少有一个线程,那就是主线程。
	//(1.5)学习心得:

//(2)并发的实现方法
	//(2.1)多进程并发
	//(2.2)多线程并发:单个进程中创建了多个线程,轻量级的进程。一个进程中的所有线程
	// 是共享内存的。全局变量,指针,引用等等都可以在线程之间传递。相较于多进程,
	// 优先考虑多线程实现。
	//(2.3)总结:线程有以下优点:1.线程启动更快,消耗资源少。2.执行速度更快。
	// 缺点:较高的复杂度,小心数据的一致性问题。
//
//(3)C++11新标准线程库
//C++语言本身增加了对多线程的支持。可以编写与平台无关的多线程代码。可移植性,跨平台。

  

posted on 2021-09-16 08:25  xcxfury001  阅读(72)  评论(0)    收藏  举报

导航