一.select前面提到Linux下的五种IO模型中有一个是IO复用模型,这种IO模型是可以调用一个特殊的函数同时监听多个IO事件,当多个IO事件中有至少一个就绪的时候,被调用的函数就会返回通知用户进程来处理已经ready事件的数据,这样通过同时等待IO事件来代替单一等待一个IO窗口数据..
分类:
其他好文 时间:
2016-05-27 07:11:15
阅读次数:
446
原文:值得推荐的C/C++框架和库 值得学习的C语言开源项目 Libevent libev是一个开源的事件驱动库,基于epoll,kqueue等OS提供的基础设施。其以高效出名,它可以将IO事件,定时器,和信号统一起来,统一放在事件处理这一套框架下处理。基于Reactor模式,效率较高,并且代码精简 ...
分类:
编程语言 时间:
2016-05-22 00:44:53
阅读次数:
457
java知识模块:
1.基础知识,数组,字符串,正则表达式;
2.类和对象,接口,继承,多态,抽象类,内部类,泛型,java常用类库。
3.异常处理; 4.IO; 5.事件处理;
6.多线程; 7.集合类 8.网络通信; 9.JDBC操作数据库
一、idea技巧
1.设置字体大小:
file -> setting -> editor -> colors&font...
分类:
编程语言 时间:
2016-05-12 22:33:55
阅读次数:
177
这一个月过去了三分之二,加上之前看过这本书三分之一,这才算是看完。虽然看完一遍,但是这本书内容很深,以后肯定是还要继续翻阅的.....什么是Nodejs Nodejs有几个特性:异步IO,事件驱动,单线程,跨平台 异步IO可以保证在CPU计算的同时,异步的加载IO,加快了应用的访问。不像传统的服.....
分类:
Web程序 时间:
2016-01-22 00:09:48
阅读次数:
255
一.NIO原理及通信模型Java NIO是在jdk1.4开始使用的,它既可以说成“新I/O”,也可以说成非阻塞式I/O。下面是java NIO的工作原理:1. 由一个专门的线程来处理所有的 IO 事件,并负责分发。2. 事件驱动机制:事件到的时候触发,而不是同步的去监视事件。3. 线程通讯:线程之间...
分类:
编程语言 时间:
2016-01-19 19:04:24
阅读次数:
256
Libev设计思路理清了Libev的代码结构和主要的数据结构,就可以跟着示例中接口进入到Libev中,跟着代码了解其设计的思路。这里我们管struct ev_loop称作为事件循环驱动器而将各种watcher称为事件监控器。1.分析例子中的IO事件这里在前面的例子中我们先把定时器和信号事件的使用注释...
分类:
其他好文 时间:
2016-01-12 21:34:14
阅读次数:
1968
最近简单看了一把Linux linux-3.10.25 kernel中select/poll/epoll这个几个IO事件检测API的实现。此处做一些记录。其基本的原理是相同的,流程如下先依次调用fd对应的struct file.f_op->poll()方法(如果有提供实现的话),尝试检查每个提供待检...
分类:
系统相关 时间:
2015-12-01 23:00:16
阅读次数:
246
HTTP协议和IO模型一:HTTP协议http协议:HyperTextTransferProcotol超文本传输协议,http协议是无状态的,监听在80端口,TCP协议上。HTTP协议的特点有以下几点:1.支持客户/服务器模式。2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEA..
分类:
Web程序 时间:
2015-10-27 07:03:16
阅读次数:
3384
一、epoll原理一个socket对应一个数据流,通过I/O操作中的read从流中读入数据,write向流中写入数据。当read时,socket流中没有数据的话,read阻塞,线程睡眠,CPU开始做其他的任务,流中有数据可读时,read返回。在阻塞IO模式下,一个线程只能处理一个IO事件。如果处理多...
分类:
其他好文 时间:
2015-10-04 20:59:54
阅读次数:
224
libev是一个开源的事件驱动库,基于epoll,kqueue等OS提供的基础设施。其以高效出名,它可以将IO事件,定时器,和信号统一起来,统一放在事件处理这一套框架下处理。 ?libev的基本使用方法如下: 1 2 3 4 5 6 7 ...
分类:
其他好文 时间:
2015-09-27 08:52:41
阅读次数:
163