epoll是linux下高性能的IO复用技术,是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。另一点原因就是获取事件的时候,它无须遍历整个被侦听的描述符集,只要遍历那些被内核IO事件异步唤醒而加入Ready队列的 ...
分类:
其他好文 时间:
2016-08-28 16:32:09
阅读次数:
169
轻量级协程,使用单线程用setjump与longjump来实现状态转移,快速,安全。 1.初始化 2.创建线程 线程函数通过st提供的io实现 上下文切换 虚拟处理器 idle thread 信号转换为io事件 EDSM 一个线程模拟多线程 //打开udp if ((nfd = st_netfd_o ...
分类:
编程语言 时间:
2016-08-20 10:13:23
阅读次数:
185
Unix/Linux上的五种IO模型(UNP6.2) IO多路复用一般不能和blocking IO用在一起,因为blocking IO中read() write() accept() connect()都有可能阻塞当前线程,这样线程就没办法处理其他socket上的IO事件了 non-blocking ...
分类:
其他好文 时间:
2016-07-02 17:25:42
阅读次数:
189
Java NIO是在jdk1.4开始使用的,它既可以说成“新I/O”,也可以说成非阻塞式I/O。下面是java NIO的工作原理: 1. 由一个专门的线程来处理所有的 IO 事件,并负责分发。 2. 事件驱动机制:事件到的时候触发,而不是同步的去监视事件。 3. 线程通讯:线程之间通过 wait,n ...
分类:
编程语言 时间:
2016-07-02 01:44:06
阅读次数:
314
作者:vousiu 出处:http://www.cnblogs.com/vousiu 本实例参考自Mike Cantelon等人的《Node.js in Action》一书。 chat_server.js: 客户端和服务端就是不断通过socket.io事件来通信: chat_server > cha ...
分类:
Web程序 时间:
2016-06-23 15:57:32
阅读次数:
152
论事件驱动与异步IO 事件驱动编程是一种编程范式,这里程序的执行流由外部事件来决定。它的特点是包含一个事件循环,当外部事件发生时使用回调机制来触发相应的处理。另外两种常见的编程范式是(单线程)同步以及多线程编程。 让我们用例子来比较和对比一下单线程、多线程以及事件驱动编程模型。下图展示了随着时间的推 ...
分类:
编程语言 时间:
2016-06-12 12:03:57
阅读次数:
169
java知识模块:1.基础知识,数组,字符串,正则表达式;2.类和对象,接口,继承,多态,抽象类,内部类,泛型,java常用类库。3.异常处理; 4.IO; 5.事件处理; 6.多线程; 7.集合类 8.网络通信; 9.JDBC操作数据库一、idea技巧1.设置字体大小:file -> settin ...
分类:
编程语言 时间:
2016-05-31 00:41:58
阅读次数:
260
一.关于poll对于IO复用模型,其优点无疑是免去了对一个个IO事件就绪的等待,转而代之的是同时对多个IO数据的检测,当检测等待的事件中至少有一个就绪的时候,就会返回告诉用户进程“已经有数据准备好了,快看看是哪个赶紧处理”,而对于IO复用的实现,除了可以用select函数,另..
分类:
其他好文 时间:
2016-05-28 23:28:27
阅读次数:
498
一.关于poll对于IO复用模型,其优点无疑是免去了对一个个IO事件就绪的等待,转而代之的是同时对多个IO数据的检测,当检测等待的事件中至少有一个就绪的时候,就会返回告诉用户进程“已经有数据准备好了,快看看是哪个赶紧处理”,而对于IO复用的实现,除了可以用select函数,另..
分类:
其他好文 时间:
2016-05-27 22:07:49
阅读次数:
221
epoll是linux内核为处理大批量文件描述符而作了改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。另一点原因就是获取事件的时候,它无须遍历整个被侦听的描述符集,只要遍历那些被内核IO事件..
分类:
其他好文 时间:
2016-05-27 18:45:54
阅读次数:
325