/**
*1.在Java5中新增加了java.util.Queue接口,用以支持队列的常见操作。该接口扩展了java.util.Collection接口。
*
*Queue使用时要尽量避免Collection的add()和remove()方法,而是要使用offer()来加入元素,使用poll()来获取
*或移除的元素。他们的优点是通过返回值..
分类:
其他好文 时间:
2014-06-16 15:01:35
阅读次数:
218
select,poll,epoll简介selectselect本质上是通过设置或者检查存放fd标志位的数据结构来进行下一步处理。这样所带来的缺点是:1
单个进程可监视的fd数量被限制2 需要维护一个用来存放大量fd的数据结构,这样会使得用户空间和内核空间在传递该结构时复制开销大3 对socket进行...
分类:
其他好文 时间:
2014-06-12 11:04:07
阅读次数:
207
说到Nginx,它真的算是我在运维工作中的好朋友,它优异的性能和极高的工作效率实在是让人大爱,来自internet的报告称其epoll模型能够支持高达50000个并发连接数。Epoll[维基百科]:epoll是Linux下
多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发...
分类:
其他好文 时间:
2014-06-09 22:40:31
阅读次数:
536
说到Nginx,它真的算是我在运维工作中的好朋友,它优异的性能和极高的工作效率实在是让人大爱,来自internet的报告称其epoll模型能够支持高达50000个并发连接数。Epoll[维基百科]:epoll是Linux下
多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少..
分类:
其他好文 时间:
2014-06-08 02:28:27
阅读次数:
327
一、为什么GUI是单线程化
传统的GUI应用程序通常都是单线程的。
1. 在代码的各个位置都需要调用poll方法来获得输入事件(这种方式将给代码带来极大的混乱)
2. 通过一个“主事件循环(Main Event Loop)”来间接地执行应用程序的所有代码。
如果在主事件循环中调用的代码需要很长时间才能执行完成,那么用户界面就会“冻结”,直到代码执行完成。这是因为只有当执行控制权返回到主事件...
分类:
编程语言 时间:
2014-06-03 01:28:22
阅读次数:
221
引言:高级I/O包括非阻塞I/O、记录锁、系统V流机制、I/O多路转接(select和poll函数)、readv和writev函数以及存储映射I/O。
(一)非阻塞I/O
可能会使进程永远阻塞的一类系统调用有:
1、如果某些文件类型的数据并不存在,则读操作可能会使调用者永远阻塞。
2、如果数据不能立即被上述同样类型的文件接受,则写操作也会使调用者永远阻塞。
3、在某种条件发生之前,打开某...
分类:
系统相关 时间:
2014-05-22 08:05:30
阅读次数:
432
定义:
epoll是Linux内核为处理大批句柄而作改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著的减少程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。因为它会复用文件描述符集合来传递结果而不是迫使开发者每次等待事件之前都必须重新准备要被侦听的....
分类:
系统相关 时间:
2014-05-19 10:13:07
阅读次数:
485
Queue queue = new LinkedList ();
for(int i = 0; i<20; i++) {
queue.add("坑爹" + i);
}
for(int j =0; j<queue.size(); j++) {
String str = queue.poll();
System.out.println(j);
}嘿嘿 输出的是从1~10;虽然没什么技术含量但是我...
分类:
其他好文 时间:
2014-05-18 04:20:23
阅读次数:
282
转载自:http://blog.163.com/henry_hlh/blog/static/17039507420124211841298/Unix中的函数select和poll用来,支持Unix中I/O复用的功能,在Unix中I/O模型可以分为以一几种:(1)阻塞I/O(2)非阻塞I/O(3)I/...
分类:
系统相关 时间:
2014-05-17 14:59:21
阅读次数:
431