提到高性能,我想大家都喜欢这个,今天我们就主要来弄明白在高性能的I/O设计中的几个关键概念,做任何事最重要的第一步就是要把概念弄的清晰无误不是么?在这里就是:阻塞,非阻塞,同步,异步。 OK, 现在来具体看看。 1. 阻塞和非阻塞是针对于进程在访问数据的时候,根据IO操作的就绪状态来采取的不同方式, ...
分类:
其他好文 时间:
2016-03-27 09:42:33
阅读次数:
121
同步、异步是API被调用者的通知方式,关注的是协作方式;阻塞、非阻塞API调用者的等待方式,关注的是线程的执行状态。举个例子: 1、你去书店买书,见着老板问他有没有《灌篮高手》,老板说没有,然后你就在这等,或者回去过几天跑过来问老板有没有,直到买到书(当然,也可能老板一直没进这本书,那你就只能继续跑
分类:
其他好文 时间:
2016-03-07 20:55:46
阅读次数:
164
5种基本的I/O模型:1)阻塞I/O ;2)非阻塞I/O; 3)I/O复用(select和poll);4)信号驱动I/O(SIGIO);5)异步I/O(POSIX.1的aio_系列函数)。 操作系统中一个输入操作一般有两个不同的阶段: 第一:等待数据准备好。第二:从内核到进程拷贝数据。对于一个soc
分类:
其他好文 时间:
2016-03-05 23:44:01
阅读次数:
360
转载自:http://chuansong.me/n/2124760几年前曾写过一篇描写同步/异步以及阻塞/非阻塞的文章,最近再回头看,还存在一些理解和认知误区,于是重新整理一下相关的概念,希望对网络编程的同行能有所启发。同步与异步首先来解释同步和异步的概念,这...
分类:
其他好文 时间:
2016-01-15 01:10:30
阅读次数:
196
本文目的在于整理一下网络编程过程中问题,旨在加深自己的理解,同时也供读者参考。 参考书:《UNIX网络编程》 从以下几个方面进行介绍: 网络编程的基础知识(TCP/IP协议) TCP客户端/服务器(echo服务)例子 高效的网络编程:阻塞/非阻塞,同步/异步,IO复用(select/poll/epo...
分类:
其他好文 时间:
2016-01-01 13:05:42
阅读次数:
155
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。作者:卢毅链接:http://www.zhihu.com/question/19732473/answer/20851256来源:知乎 “阻塞”与"非阻塞"与"同步"与“异步"不能简单的从字面理解,提供一个从分布式系统角度的回答。1...
分类:
其他好文 时间:
2015-11-30 17:37:35
阅读次数:
115
概念很重要,一定要掌握。实践都是基于它们的哟~~~~~~~~~~~~~~~~~http://blog.csdn.net/historyasamirror/article/details/5778378Stevens在文章中一共比较了五种IO Model: blocking IO nonblockin...
分类:
其他好文 时间:
2015-11-20 16:49:27
阅读次数:
94
1、同步异步、阻塞非阻塞概念 同步和异步是针对应用程序和内核的交互而言的。 阻塞和非阻塞是针对于进程在访问数据的时候,根据IO操作的就绪状态来采取的不同方式,说白了是一种读取或者写入操作函数的实现方式,阻塞方式下读取或者写入函数将一直等待,而非阻塞方式下,读取或者写入函数会立即返回一个状态值。 由上...
分类:
编程语言 时间:
2015-11-10 00:17:29
阅读次数:
302