一句话让你理解线程和进程

描述

 

今天给大家分享一下线程与进程,主要包含以下几部分内容:
 

  • 一句话说明线程和进程
  • 操作系统为什么需要进程
  • 为什么要引入线程
  • 一图说明线程和进程的关系

一句话让你理解进程和线程

 

线程

进程:是指⼀个内存中运⾏的应⽤程序,比如QQ、微信、浏览器等;⼀个应⽤程序也可以同时运⾏多个进程,比如同时打开两个QQ、浏览器。
 


 

线程:1个进程(应用程序)可能需要同时执行几个任务,比如QQ可以同时视频、传输文件、文字聊天,可以使用一个线程负责处理视频,一个线程负责传输文件,一个线程负责文字聊天,让这些任务并发执行。


 

进程我们可以从任务管理器中查看到,也可以使用快捷键ctrl+alt+del键快速调出任务管理器。在进程上点击"结束任务"即可看到该应用程序被关闭掉了。
 

 

  演示一:进程查看  


 

线程

演示二:一个应用程序同时运行多个进程(同时打开两个QQ)


 

线程

线程

我们平时使用电脑上网、打游戏、听歌、购物,实际上都是运行一个个的程序。

程序,实际上就是一些命令集合,操作系统让这些指令运行起来,让你能够享受这些程序提供的服务。

 

执行指令的核心部件就是CPU,生活中通常说是几核的,核越多,并行处理的程序越多,能大大地提高电脑运行的效率。

但是一个电脑/手机的CPU数量是有限的,如何让有限的CPU同时执行各种程序呢?

操作系统通过时分共享来实现,时分共享是操作系统共享系统资源最基本的技术之一。

假如操作系统上运行着3个程序,那么CPU每次运行一个程序,然后在下一个时间点,运行第二个程序,然后很快切到第三个程序。

由于CPU切换得非常快,对于用户来说,就像3个程序同时运行起来一样。

线程

但是程序切换有一些问题需要解决:

1、程序是否正在运行

2、上一次CPU运行到哪一个指令,切换后需要从上一次中断处重新运行

3、每个程序都会占用一定的系统资源,例如内存,如何保证每个进程的资源安全与独立性。

为了让操作系统轻松明白程序的上述信息,我们使用进程对程序进行抽象,打开一个应用就在系统中开了一个进程,每个进程都有1个独立的内存空间。


 

线程

引入线程之后,不仅是进程之间可以并发,进程内的各线程之间也可以并发,从而进一步提升了系统的并发度,使得一个进程内也可以并发处理各种任务(如QQ这个进程可以同时视频、文字聊天、传文件)。

线程

 

线程

线程

简而言之:⼀个程序运⾏后⾄少有⼀个进程,⼀个进程中可以包含多个线程。

另外,还要注意两个概念并发和并行。

并发:进程和线程都是为了提高CPU的并发能力,

并行:而多个CPU系统中,则这些可以并发执行的程序便可以分配到多个处理器上( CPU ),实现多任务并行处理。

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分