码迷,mamicode.com
首页 >  
搜索关键字:非阻塞io    ( 355个结果
《网络编程》非阻塞 I/O
非阻塞式的 I/O 是进程调用 I/O 操作时,若数据未准备就绪,则立即返回一个 EWOULDBLOCK 错误,在数据准备就绪之前,应用进程采用轮询的方式检查数据是否准备就绪。直到数据准备就绪,则内核把该数据复制到应用进程的缓冲区,完成数据复制之前进程处于阻塞状态,直到数据复制完成后才返回。即 I/O 操作第一阶段处于轮询检查状态,第二阶段处于阻塞状态。...
分类:其他好文   时间:2014-12-17 09:07:32    阅读次数:251
unix io 模型浅析
POSIX中对同步IO和异步IO的规定:同步IO操作:引起进程的阻塞直到IO操作完成,异步IO操作:IO操作不会引起进程阻塞在UNIX下,有5中操作模型:阻塞IO,非阻塞IO,IO复用,信号驱动IO,异步IO按照网络上的说法,前四种是属于同步IO,第五种才属于异步IO,对于这个结论,我的理解是根据....
分类:其他好文   时间:2014-12-16 09:58:36    阅读次数:199
Node.js的process.nextTick(callback)理解
Node.js是单线程的,基于事件循环,非阻塞 IO的。事件循环中使用一个事件队列,在每个时间点上,系统只会处理一个事件,即使电脑有多个CPU核心,也无法同时并行的处理多个事件。因此,node.js适合处理I/O型的应用,不适合那种CPU运算密集型的应用。在I/O型的应用中,给每一个输入输出定义一个...
分类:Web程序   时间:2014-12-15 15:25:48    阅读次数:237
《网络编程》I/O 模型
在分析 I/O 模型之前,首先了解 同步 I/O 和 异步 I/O 的基本概念: 同步 I/O:进程调用 I/O 操作函数时,在 I/O 操作函数返回之前,该进程会被挂起(即阻塞),直到 I/O 操作完成后返回; 异步 I/O:进程调用 I/O 操作函数时,在 I/O 操作函数返回之前,该进程不会被挂起(即不阻塞),当 I/O 操作完成后会通知方式告知进程; 在 Unix 系统中主要有 5 种 I/O 模型:阻塞式 I/O;非阻塞式 I/O;I/O 多路复用;信号驱动式 I/O;异步 I/O; 一般一个输入...
分类:其他好文   时间:2014-12-13 13:31:12    阅读次数:188
高性能IO模型浅析
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,常见的IO模型有四种:(1)同步阻塞IO(BlockingIO):即传统的IO模型。(2)同步非阻塞IO(Non-blockingIO):默认创建的socket都是阻塞的,非阻塞IO要求socket被设置为NONBLOCK。注意这里所说的N...
分类:其他好文   时间:2014-11-15 00:11:49    阅读次数:301
Linux非阻塞IO(八)使用epoll重新实现非阻塞的回射服务器
本文无太多内容,主要是几个前面提到过的注意点: 一是epoll的fd需要重新装填。我们将tcp_connection_t的指针保存在数组中,所以我们以这个数组为依据,重新装填fd的监听事件。 //重新装填epoll内fd的监听事件 int i; for(i = 0; i buffer_)) even...
分类:系统相关   时间:2014-10-27 21:15:38    阅读次数:295
Linux非阻塞IO(六)使用poll实现非阻塞的服务器端
关于poll模型监听的事件以及返回事件,我们定义宏如下: #define kReadEvent (POLLIN | POLLPRI) #define kWriteEvent (POLLOUT | POLLWRBAND) #define kReadREvent (POLLIN | POLLPRI | ...
分类:系统相关   时间:2014-10-27 21:13:50    阅读次数:352
Linux非阻塞IO(七)使用epoll重新实现客户端
使用poll与epoll的区别主要在于: poll可以每次重新装填fd数组,但是epoll的fd是一开始就加入了,不可能每次都重新加入 于是采用这种策略: epoll除了listenfd一开始就监听read事件,其他的客户fd加入epoll时,监听的事件都为空。 然后在每次epoll_wait之前,...
分类:系统相关   时间:2014-10-27 21:09:42    阅读次数:197
Linux非阻塞IO(五)使用poll实现非阻塞的回射服务器客户端
前面几节我们讨论了非阻塞IO的基本概念、Buffer的设计以及非阻塞connect的实现,现在我们使用它们来完成客户端的编写。 我们在http://www.cnblogs.com/inevermore/p/4049165.html中提出过,客户端需要监听stdin、stdout和sockfd。 这里...
分类:系统相关   时间:2014-10-24 22:10:27    阅读次数:388
Linux非阻塞IO(四)非阻塞IO中connect的实现
我们为客户端的编写再做一些工作。 这次我们使用非阻塞IO实现connect函数。 int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen); 在阻塞IO中,调用connect后一般会阻塞,直到确定连接成功或者失败。...
分类:系统相关   时间:2014-10-24 20:45:50    阅读次数:290
355条   上一页 1 ... 32 33 34 35 36 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!