并发
并发(交替执行):两个或多个事件在同一个时间段内发生,CPU在不一样的事件中来回切换,宏观上像是同时执行,微观上是交替执行。多线程
并行
并行(同时执行):两个或多个事件在同一刻发生,是真正的同时执行。例:有两个CPU,那么就是一个CPU处理一个事件,实现两个事件同时被CPU执行。并发
进程
- 由硬盘进入到内存中的程序叫作进程:好比“卡巴斯基杀毒软件”的启动就是从硬盘加载到了内存中,此时就称为进程,可在任务管理器中查看全部的进程。
- 一个应用程序能够同时运行多个进程,每一个进程都有一个独立的内存空间。
- 进程是系统运行程序的基本单位,也是程序的一次执行过程。
- 系统运行一个程序便是一个进程从建立、运行到消亡的过程。
线程
- 应用程序通向CPU的路径,CPU经过这个路径就能够执行对应的功能,而这条路径被称为线程,例:点击“卡巴斯基的病毒查杀”功能时,就开辟了一条通向CPU的路径,此时CPU就经过该路径能够执行“病毒查杀”功能。
- 线程是进程中的一个执行单元,负责当前进程中程序的执行。
- 一个进程中至少有一个线程,拥有多个线程的应用程序被称为多线程程序。
进程和线程的区别
- 进程:有独立的内存空间,进程中数据存放的位置(堆空间和栈空间)是独立的,而且进程至少有一个线程。
- 线程:栈空间是独立的,堆空间是共享的;且线程消耗的资源比进程少不少。
线程调度:
- 分时调度:全部线程轮流得到CPU的使用权而且使用CPU,平均分配每一个线程占用CPU的时间。
- 抢占式调度:让优先级高的线程优先使用CPU,当优先级相同时,随机选择一个线程使用CPU(线程随机性),Java中使用的就是“抢占式调度”。
PS:线程
- 文章来自各类资源的整理,若有侵权请告知删除。
- 转载本文请注明出处