一、并发基本概念和实现
(1)概念
两个或者更多的任务(独立的活动)同时发生;一个程序同时执行多个任务。
(2)分类
单核:某一个时刻只能执行一个任务,由操作系统调度,每秒钟进行多次所谓的任务切换,这种切换要有时间开销。
多核:在一块芯片上有多个CPU,可以同时执行多个任务。
(3)作用
同时执行多个任务,提高性能。
(4)可执行程序
磁盘下的某一个文件。
4.1 windows下:扩展名为.exe的文件
4.2 linux下:ls -la,rwxrwxrwx(x可执行权限)
二、进程的基本概念和综述
(1)概念:
一个可执行程序的运行;
(2)运行
2.1 windows下:双击一个可以执行的的程序
2.2 linux下:./文件名 eg: ./收费系统
三、线程的基本概念和综述
(1)概念
用来执行代码的一条通路;
(2)分类
2.1 主线程:每个进程只有一个主线程;进程(可执行程序)运行起来,主线程自动运行;
2.2 子线程:自己手动创建用来执行代码的的通路
(3)特点
3.1 每个线程都有自己独立的堆栈空间;
3.2 线程切换会消耗程序运行的时间,不宜太多,一般不超过300条;
3.3 一个新线程代表一条新的通路;
3.4 多线程开销远远小于多进程;
3.5 线程的启动比进程速度快,更轻量级,但是要注意数据的一致性问题;
四、C++11新标准线程库
(1)线程的创建
1.1 一般方法不能跨平台:
windows: CreateThread()、_beginthread()、_beginthreadex();
linux:pthread_create();
1.2 新标准创建方法,可以跨平台,可移植,减少代码的开发量;