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