黑马程序员技术交流社区

标题: 关于进程中并发与并行概念的认识(请专家和各位童鞋参考指正) [打印本页]

作者: 马利    时间: 2013-3-18 12:48
标题: 关于进程中并发与并行概念的认识(请专家和各位童鞋参考指正)
本帖最后由 马利 于 2013-3-18 20:01 编辑

并发性和并行性是两个概念,并行指在同一时刻,有多条指令在多个处理器上同时执行;并发指在同一时刻只能有一条指令执行,但多个进程指令被快速轮换执行,使得宏观上具有多个进程同时执行的效果。
各位是怎么认识的这个概念的呢
作者: 陈丽莉    时间: 2013-3-18 14:36
如果是问题贴,请将帖子分类改成【未解决】~
作者: 郭利超    时间: 2013-3-18 14:59
    所谓并行性(parallelism)是指在同一时刻或是同一时间间隔内完成两种或两种以上性质相同或不相同的工作。只要时间上互相重叠,就存在并行性。严格来讲,把两个或多个事件在同一时刻发生的并行性叫做同时性(simultaneity);而把两个或多个事件在同一时间间隔内发生的并行性叫做并发性(concurrency)。以n位并行加法为例,由于存在着进位信号的传播延迟时间,全部n位加法结果并不是在同一时刻获得的,因此并不存在同时性,而只存在并发性的关系。如果有m个存储器模块能同时进行读出信息,则属于同时性。

      

       并行的事件或活动一定是并发的,反之并发的事件或者活动未必就是并行的。并行性事并发性的一个特例。

      

       并发性描述的其实是两个事件在一个时间间隔内发生,但未必会同时进行,也有可能会在某一时间重叠区域中同时进行,这就要看这个时间间隔如何定义了。而并行性体现在同一时刻上不同的事件都正在进行着。比如,两个人,一部电话,时间8:00-8:10这个时间段内,两个人都想打电话体现了前面所说的并发性,但是只有一部电话,谁先来谁用,就不可能出现两个人同时打电话的情况。

       所以,同一时间间隔内发生,但不同时进行的情况在内核中会出现很多,通常在资源有限的情况下会体现得更明显。


作者: 温立华    时间: 2013-3-18 15:11
  所有的并发处理都有排队等候,唤醒,执行至少三个这样的步骤.所以并发肯定是宏观概念,在微观上他们都是序列被处理的,只不过资源不会在某一个上被阻塞(一般是通过时间片轮转),所以在宏观上看多个几乎同时到达的请求同时在被处理。如果是同一时刻到达的请求也会根据优先级的不同,而先后进入队列排队等候执行。

  并发与并行是两个既相似而又不相同的概念:并发性,又称共行性,是指能处理多个同时性活动的能力;并行是指同时发生的两个并发事件,具有并发的含义,而并发则不一定并行,也亦是说并发事件之间不一定要同一时刻发生。

  并发的实质是一个物理CPU(也可以多个物理CPU) 在若干道程序之间多路复用,并发性是对有限物理资源强制行使多用户共享以提高效率。

  并行性指两个或两个以上事件或活动在同一时刻发生。在多道程序环境下,并行性使多个程序同一时刻可在不同CPU上同时执行。

作者: 温立华    时间: 2013-3-18 15:19
本帖最后由 温立华 于 2013-3-18 15:22 编辑
陈丽莉 发表于 2013-3-18 14:36
如果是问题贴,请将帖子分类改成【未解决】~

{:soso_e103:}
作者: 陈丽莉    时间: 2013-3-18 17:26
若还有问题,请继续追问,没有的话,请将帖子分类改成【已解决】~




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2