- 并发
两个或者更多的任务(独立的活动)同时发生(进行)的过程;一个程序同时执行多个独立的任务。
在以前的单核CPU计算机中,某一时刻只能执行一个任务,各个任务之间由操作系统调度,没秒钟进行多次所谓的“任务切换”。由于各个任务之间切换是毫秒级别的,给人一种并发的假象(不是真正的并发);这种上下文切换是会有时间开销的,比如操作系统要保存切换是的各种状态、执行进度等信息,都需要耗费时间。
随着硬件的发展出现多核CPU,当某一时刻执行任务数少于CPU核数的时候这就是真正的并发。
使用并发的原因:主要是可以同时干多个事情,提升性能。
- 可执行程序
磁盘上的一个文件;windows系统中一个扩展名为.exe的文件
- 进程
进程就是一个运行的可执行文件,例如打开不同的word文档,每个文档都是一个独立的进程。
- 线程
每个进程(运行的可执行文件)都要一个主线程。这个主线程是唯一的,也就是每个进程都有一个主线程。
当你执行一个可执行文件的时候,就产生了一个进程,同时主线程也随着进程产生。
除主线程之外,我们可以通过写代码来创建其他线程
线程并不是越多越好,每个线程都需要独立的堆栈空间,消耗内存
- 总结
一个程序可以有多个进程,但是每个进程都是独立存在的,每个进程都有一个主线程。
并发的实现方式(多进程并发)(多线程并发)