之前一直没有搞懂这两个的区别,现在的理解是:
进程:一个可执行的程序
任务:一块可执行的代码
线程:指的是一个独立的代码执行路径,线程是代码执行路径的最小分支
串行和并行:串行是一次只能执行一个任务,并行是一次能执行多个任务
并行是CPU的多核芯同时执行多个任务 并发是单核CPU交替执行两个任务
///
2016 2 18 修改以上对同步异步的理解
同步异步关注的是消息通讯机制
所谓同步,就是在发出一个*调用*时,在没有得到结果之前,该*调用*就不返回。但是一旦调用返回,就得到返回值了。注意这个返回是指CUP返回执行的数据段部分,所以目前来看只是阻塞了CPU的数据段部分 并不耽误CPU干别的 所以即使是同步也不见得是阻塞模式
换句话说,就是由*调用者*主动等待这个*调用*的结果。
而异步则是相反,*调用*在发出之后,这个调用就直接返回了,所以没有返回结果。换句话说,当一个异步过程调用发出后,调用者不会立刻得到结果。而是在*调用*发出后,*被调用者*通过状态、通知来通知调用者,或通过回调函数处理这个调用。
典型的异步编程模型比如Node.js
参考地址:
http://www.zhihu.com/question/19732473
网友评论