现在的位置: 首页 > 综合 > 正文

Java 多线程编程之一 进程与线程,并发和并行的区别:吃馒头的比喻

2013年10月11日 ⁄ 综合 ⁄ 共 458字 ⁄ 字号 评论关闭

进程与线程,并发和并行的区别:吃馒头的比喻

 

没有线程编程的程序好比一个人一只手干活,而多线程的程序就比一个人多之手干活.

进程是系统资源分配的独立单位,而线程是可调度运行的独立单位,一个进程可以拥有多个线程,线程是进程并行完成的多个任务.

并发和并行的区别就是一个处理器同时处理多个任务和多个处理器或者是多核的处理器同时处理多个不同的任务.

前者是逻辑上的同时发生(simultaneous),而后者是物理上的同时发生.
并发性 (concurrency),又称共行性,是指能处理多个同时性活动的能力,并发事件之间不一定要同一时刻发生.
并行 (parallelism) 是指同时发生的两个并发事件,具有并发的含义,而并发则不一定并行.

也就是说,多进程之间并发执行,而多线程编程就是并行执行的了.
来个比喻:并发和并行的区别就是一个人同时吃三个馒头和三个人同时吃三个馒头.
并发与并行说明图
这样,对于进程与线程,并发和并行的区别,您应该了解了吧.


参考资料:http://developer.51cto.com/art/200908/141553.htm

抱歉!评论已关闭.