一、线程相关概念
文章目录
- 相关概念
- 程序(program)
- 进程
- 线程
- 单线程与多线程
- 并发与并行
相关概念
程序(program)
是为完成特定任务、用某种语言编写的一组指令的集合。简单的说:就是我们写的代码。
进程
- 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存空间。当我们再开启迅雷时,又启动了一个进程,操作系统将为迅雷分配新的内存空间。
- 进程是程序的一次执行过程,或是正在运行的一个程序。是动态过程:有它自身的产生、存在和消亡的过程。
比如打开自己的任务管理器查看进程信息(Ctrl+Alt+del,选择任务管理器)
电脑里有很多程序,但运行的程序不多即进程,进程会占用内存和CPU
线程
- 线程由进程创建的,是进程的一个实体
- 一个进程可以拥有多个线程,如下图
这是一个打开的迅雷程序即一个进程,我们在讯雷里下载了多个文件,一个文件的下载就是一个线程。图上表示了三个线程。
单线程与多线程
- 单线程:同一个时刻,只允许执行一个线程。
- 多线程:同一个时刻,可以执行多个线程。比如:一个qq进程,可以同时打
开多个聊天窗口,一个迅雷进程,可以同时下载多个文件。
并发与并行
- 并发:同一个时刻,多个任务交替执行,造成一种“貌似同时”的错觉,简
单的说,单核cpu实现的多任务就是并发。 - 并行:同一个时刻,多个任务同时执行。多核cpu可以实现并行。
说明:很显然,并发和并行可以同时存在。
一般都是多核CPU,查看方式(桌面电脑图标右键选择管理->设备管理器->处理器)
代码也可查看