同步/异步和阻塞/非阻塞
来源:互联网 发布:淘宝手机助手5.0.0 编辑:程序博客网 时间:2024/06/10 21:58
什么是同步和异步?
在一本书上看到过一个例子:在食堂打饭,排队点菜。点完菜之后,食堂师傅开始为你准备你所点的东西,这需要花费一定的时间。在这段时间内,如果排在你后面的人一直在等待你取走自己的东西后才能开始点菜,那么这就是同步;但如果这段时间内,你在旁边等待自己的东西,食堂窗口可以接着处理排在你后面的人的点菜行为的话,这就是叫做异步。
那么更准确些说什么是异步和同步呢?如上面例子,食堂的窗口是一个服务,而排队的人都是服务的调用者,同步和异步就是描述这个服务调用的机制,或者说服务对请求的处理机制。
什么是阻塞和非阻塞?
接着上面的例子,当你点完菜等待师傅准备你的菜的过程中,你在一旁等待。此时你是服务的调用者,你在调用打菜服务以后只能等待,如果有其他的事情要干,而又不能干其他的事情,那么这个时候对你本身而言你就是处于一个阻塞的状态,但如果这段时间里,你可以去买饮料等其他东西,等到师傅将菜准备好后叫号再来取(这就是程序中的事件通知),那么你这个人就处于一个非阻塞的状态。
可见,阻塞和非阻塞是用来描述服务的调用者在调用服务后的状态的。
同步/异步和阻塞/非阻塞的关系
上面讲述了同步/异步和阻塞/非阻塞的概念,那么他们之间有什么关系呢?
事实上除了同步阻塞、同步非阻塞、异步阻塞、异步非阻塞都有可能发生,要看实际的服务机制和事务。
看到别人写的很贴切的例子:http://www.cnblogs.com/jogger/archive/2012/09/27/2705386.html
0 0
- 同步和异步、阻塞和非阻塞
- 同步和异步、阻塞和非阻塞
- 同步和异步,阻塞和非阻塞
- 同步和异步,阻塞和非阻塞
- 同步和异步,阻塞和非阻塞
- 同步和异步,阻塞和非阻塞
- 同步和异步、阻塞和非阻塞
- 同步和异步、阻塞和非阻塞
- 同步和异步,阻塞和非阻塞
- 同步和异步,阻塞和非阻塞
- 同步和异步,阻塞和非阻塞
- 同步和异步,阻塞和非阻塞
- 同步和异步+阻塞和非阻塞
- 阻塞和非阻塞、同步和异步
- [引]同步、异步、阻塞和非阻塞
- 基本概念:同步、异步、阻塞和非阻塞
- 同步、异步、阻塞和非阻塞
- [引--]同步、异步、阻塞和非阻塞
- WebRTC继续折腾02
- iOS 笔记
- 源代码加密几种简单方法
- dom4j创建和解析xml文件实例
- 游戏程序设计之渲染管道
- 同步/异步和阻塞/非阻塞
- 文章标题
- 希望你好好的
- 黑马程序员-JAVASE入门(File文件类)
- squid+tomcat+jdk+urlrewritefilter
- ruby gem 代理设置
- 安装Realtek RTL8111/RTL8168网卡驱动详解(error~eth0:no such device)
- session和cookie
- FineReport报表如何进行数据可视化分析