socket在创建的时候默认是阻塞的。我们可以通过socket系统调用的第二个参数传递SOCK_NONBLOCK标志,或者通过fcntl系统调用的F_SETFL命令,将其设置为非阻塞的。阻塞和非阻塞的概念能应用与所有文件描述符,不仅仅是socket,我们称阻塞的文件描述符为阻塞I/O,非阻塞的文件描述符为非阻塞I/O.
针对阻塞I/O执行的系统调用可能因为无法立即完成而被操作系...
分类:
其他好文 时间:
2014-10-26 10:23:21
阅读次数:
179
1.同步与异步同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous communication) 所谓同步,就是在发出一个*调用*时,在没有得到结果之前,该*调用*就不返回。但是一旦调用返回,就得到返回值了。换句话说,就是由*调用者*主动....
分类:
其他好文 时间:
2014-10-13 02:57:48
阅读次数:
194
[同步和异步]通俗的讲:同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。同步:提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事异步: 请求通过事件触发->服务器处理(...
分类:
其他好文 时间:
2014-10-12 23:12:18
阅读次数:
278
不少人把同步、异步、阻塞、非阻塞放到一起讨论,很多时候难以区分。
这里从根上剖析下该怎么看待这几个概念。
首先,异步和同步是相对的,而同步情况下又有阻塞和非阻塞之分。
异步很容易理解。当用户程序需要进行IO的时候,发出IO请求,然后就立刻返回,可以继续做其它事情。
例如,从网络收包,当包抵达后放到内核某个缓存区,并且从内核空间放置到程序需要的用户空间后(一种是直接复...
分类:
其他好文 时间:
2014-10-10 23:07:44
阅读次数:
166
老张爱喝茶,废话不说,煮开水。
出场人物:老张,水壶两把(普通水壶,简称水壶;会响的水壶,简称响水壶)。
1 老张把水壶放到火上,立等水开。(同步阻塞)
老张觉得自己有点傻
2 老张把水壶放到火上,去客厅看电视,时不时去厨房看看水开没有。(同步非阻塞)
老张还是觉得自己有点傻,于是变高端了,买了把会响笛的那种水壶。水开之后,能大声发出嘀~~~~的噪音。
3 老张把响水壶放到火上,立等水...
分类:
其他好文 时间:
2014-09-09 12:55:11
阅读次数:
181
一、同步与异步同步/异步, 它们是消息的通知机制1. 概念解释A. 同步所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。按照这个定义,其实绝大多数函数都是同步调用(例如sin isdigit等)。但是一般而言,我们在说同步、异步的时候,特指那些需要其他部件协作或者需要一定时间...
分类:
其他好文 时间:
2014-09-03 23:58:57
阅读次数:
434
好文章,转自:http://blog.csdn.net/yankai0219/article/details/80182320.序首先通过阅读参考文章的内容,了解大概,我写出下文。并且我参考上述文章的写作方式,以生活中的事件来理解技术上的问题。 初学同步与异步、阻塞与非阻塞,难免有些理解错误,还希....
分类:
其他好文 时间:
2014-09-02 00:12:33
阅读次数:
239
原文链接:http://blog.csdn.net/colzer/article/details/8169075IO概念Linux的内核将所有外部设备都可以看做一个文件来操作。那么我们对与外部设备的操作都可以看做对文件进行操作。我们对一个文件的读写,都通过调用内核提供的系统调用;内核给我们返回一个f...
分类:
系统相关 时间:
2014-08-29 10:36:17
阅读次数:
346
原文链接:http://blog.csdn.net/historyasamirror/article/details/5778378当你发现自己最受欢迎的一篇blog其实大错特错时,这绝对不是一件让人愉悦的事。《IO - 同步,异步,阻塞,非阻塞》是我在开始学习epoll和libevent的时候写的...
分类:
其他好文 时间:
2014-08-28 22:27:16
阅读次数:
276