进程,是指在系统中正在运行的一个应用程序,程序一旦运行就是进程。比如打开一个QQ音乐就是启动了一个QQ音乐进程,打开一个 Word 就启动了一个 Word 进程。进程是操作系统分配资源的最小单位。如下图,每一个进程都拥有独立的内存单元。
在一个进程内部,可以同时运行多个“子任务”,也就是多个线程。如上所示,在一个进程中,而多个线程共享内存。线程是进程之内程序执行的最小单位。
可以将进程理解为工厂中的一条流水线,其中的线程就是这个流水线上的工人。
假如我们需要完成一批药品出厂前的一系列的认证检验,我们就可以开启一条流水线(进程),并分配需要的资源,如工作台、检验工具、药品等等,有了这些资源,就可以安排工人(线程),工人拿着这些资源进行产品检验,也就相当于线程执行程序。
如上图所示,完成检验需要四个步骤:原料检验、生产过程检验、GMP认证、药品监督管理。当需要检验的药品数量较少时,可以由一个工人完成这四个步骤,也就是单线程处理。
而当药品数量变得很多时,一个工人就太慢了,这时,可以为每一种检验安排一个工人,这四个工人在同一条生产线工作,共享工作台等资源,并行处理各自的任务,这就相当于多线程处理。
简而言之,进程和线程之间的关系有以下几个特点:
-
线程必须存在于进程中,一个进程至少有一个线程 ---- 工人需要在流水线上处理工作,完成检验至少需要一个工人。
-
进程中的任意一线程执行出错,都会导致整个进程的崩溃 ---- 流水线中任何一处电路短路,整个流水线就会停电。
-
线程之间共享进程中的数据 ---- 工人共享流水线上的工具、资源等。
-
当一个进程关闭之后,操作系统会回收进程所占用的内存 ---- 一次检验完成,工厂可以关闭这条流水线,将流水线的资源收回分配给其他流水线。
-
进程之间的内容相互隔离 ---- 两条流水线的资源和任务是相互独立的。
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!