MDA/MDD/TDD/DDD/DDDDDDD
posts - 536, comments - 111, trackbacks - 0, articles - 0
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

并发与并行

Posted on 2011-10-04 16:08 leekiang 阅读(690) 评论(0)  编辑  收藏 所属分类: 数据结构,算法,基础
并发与并行
并 发,英文单词是concurrent,是指逻辑上同时发生,有人做过比喻,要完成吃完三个馒头的任务,一个人可以这个馒头咬一口,那个馒头咬一口,这样交 替进行,最后吃完三个馒头,这就是并发,因为在三个馒头上同时发生了吃的行为,如果只是吃完一个接着吃另一个,这就不是并发了,是排队,三个馒头如果分给 三个人吃,这样的任务完成形式叫并行,英文单词是parallel。
回到计算机概念,并发应该是单CPU时代或者单核时代的说法,这个时候CPU要同时完成多任务,只能用时间片轮转,在逻辑上同时发生,但在物理上是串行的。现在大多数计算机都是多核或者多CPU,那么现在的多任务执行方式就是物理上并行的。
为了从物理上支持并发编程,CPU提供了相应的特殊指令,比如原子化的读改写,比较并交换。
并发编程的Java抽象

只有注册用户登录后才能发表评论。


网站导航: