今天给大家分享一下线程与进程,主要包含以下几部分内容:
- 一句话说明线程和进程
- 操作系统为什么需要进程
- 为什么要引入线程
- 一图说明线程和进程的关系
一句话让你理解进程和线程
进程:是指⼀个内存中运⾏的应⽤程序,比如QQ、微信、浏览器等;⼀个应⽤程序也可以同时运⾏多个进程,比如同时打开两个QQ、浏览器。
线程:1个进程(应用程序)可能需要同时执行几个任务,比如QQ可以同时视频、传输文件、文字聊天,可以使用一个线程负责处理视频,一个线程负责传输文件,一个线程负责文字聊天,让这些任务并发执行。
进程我们可以从任务管理器中查看到,也可以使用快捷键ctrl+alt+del键快速调出任务管理器。在进程上点击"结束任务"即可看到该应用程序被关闭掉了。
演示一:进程查看
演示二:一个应用程序同时运行多个进程(同时打开两个QQ)
我们平时使用电脑上网、打游戏、听歌、购物,实际上都是运行一个个的程序。
程序,实际上就是一些命令集合,操作系统让这些指令运行起来,让你能够享受这些程序提供的服务。
执行指令的核心部件就是CPU,生活中通常说是几核的,核越多,并行处理的程序越多,能大大地提高电脑运行的效率。
但是一个电脑/手机的CPU数量是有限的,如何让有限的CPU同时执行各种程序呢?
操作系统通过时分共享来实现,时分共享是操作系统共享系统资源最基本的技术之一。
假如操作系统上运行着3个程序,那么CPU每次运行一个程序,然后在下一个时间点,运行第二个程序,然后很快切到第三个程序。
由于CPU切换得非常快,对于用户来说,就像3个程序同时运行起来一样。
但是程序切换有一些问题需要解决:
1、程序是否正在运行
2、上一次CPU运行到哪一个指令,切换后需要从上一次中断处重新运行
3、每个程序都会占用一定的系统资源,例如内存,如何保证每个进程的资源安全与独立性。
为了让操作系统轻松明白程序的上述信息,我们使用进程对程序进行抽象,打开一个应用就在系统中开了一个进程,每个进程都有1个独立的内存空间。
引入线程之后,不仅是进程之间可以并发,进程内的各线程之间也可以并发,从而进一步提升了系统的并发度,使得一个进程内也可以并发处理各种任务(如QQ这个进程可以同时视频、文字聊天、传文件)。
简而言之:⼀个程序运⾏后⾄少有⼀个进程,⼀个进程中可以包含多个线程。
另外,还要注意两个概念并发和并行。
并发:进程和线程都是为了提高CPU的并发能力,
并行:而多个CPU系统中,则这些可以并发执行的程序便可以分配到多个处理器上( CPU ),实现多任务并行处理。
-
程序
+关注
关注
117文章
3785浏览量
81000 -
线程
+关注
关注
0文章
504浏览量
19675 -
进程
+关注
关注
0文章
203浏览量
13960
发布评论请先 登录
相关推荐
评论