线程、进程、并行、并发
如题所示,好多人都对线程,进程,并发,并行混淆,不能清除理解定位,突然之间想到了一些自己的理解,分享出去希望能给大家带来思路,不对之处希望大家指出来共同进步。
进程:是向系统申请计算机资源的最小单位,如向系统申请计算机的cpu资源、内存资源外设硬盘资源等的基本单位,系统如果得到相应后会允许这个进程开始使用各种资源,如在win7下打开一个QQ.exe,这个就是一个进程申请到允许的例子;
线程:线程是向系统申请CPU资源的最小单位,与上面的进程最小单位相比,它更精准只是使用到CPU的资源,不包括其他的资源,因为它是属于一个进程而存在的,如果没有进程线程不会单独存在在系统中允许,可以说进程是线程的运行生存环境是相互依赖的关系
并行:多个任务在同一时间发生的,每个认为都有一个对应cpu进行处理
并发:多个任务同时发生,只有一个cpu安装分时的段去处理每个任务碎片,整体每个任务都得到运行
可以说进程、线程是从申请者的角度去描述了计算机系统任务被执行的单位
并发、并行是从执行者即计算机处理器CPU处理任务的角度
他们是不同方面的描述,如消费者跟卖家,一个是站在消费者角度描述消费者行为分类,而一个是站在卖家角度去分类描述,他们之间如何有可比性
线程、进程关系如下
并发、并行关系图
并发、并行都是在多任务处理实现上出现的不同方法解决方法,
并发在cpu资源受限的单核情况下可以把多个任务切分为时间片段轮流执行从而宏观达到多任务同时运行的效果;
并行是真正意义上每一个任务对应一个cpu执行的方案
两个方案只是在硬件资源情况不同情况下出现解决方案而已
最后综述图示如下
以上都自己想到,不对之处希望大神指点共同进步
转载于:https://my.oschina.net/u/867830/blog/1610241