import socketimport selectimport Queueport =500host = ""sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)sock.setblocking(False)sock.setsockopt(...
分类:
其他好文 时间:
2014-09-18 12:56:03
阅读次数:
174
日常开发中,经常碰到处理程序阻塞的情况:1.select函数select函数用于确定一个或多个套接口的状态,对每一个套接口,调用者可查询它的可读性、可写性及错误状态信息,用fd_set结构来表示一组等待检查的套接口,在调用返回时,这个结构存有满足一定条件的套接口组的子集,并且select()返回满足...
分类:
其他好文 时间:
2014-09-17 11:37:32
阅读次数:
1394
参考资料:http://erlangcentral.org/wiki/index.php/Building_a_Non-blocking_TCP_server_using_OTP_principles服务器设计tcp_server_app下的根监控树使用one_for_one重启策略。两个子树应用,...
分类:
其他好文 时间:
2014-09-17 01:01:01
阅读次数:
418
1.常用支持非阻塞通信的类
ServerSocketChannel: ServerSocket 的替代类, 支持阻塞通信与非阻塞通信.SocketChannel: Socket 的替代类, 支持阻塞通信与非阻塞通信.Selector: 为ServerSocketChannel 监控接收连接就绪事件, 为 SocketChannel 监控连接就绪, 读就绪和写就绪事件.SelectionKe...
分类:
编程语言 时间:
2014-09-16 12:39:00
阅读次数:
315
Node.js是使用事件驱动的,非阻塞的I/O模型,用于构建快速的,可扩展的网络应用程序。Node.js想解决的问题是:处理输入,输入,高并发1.阻塞与非阻塞阻塞也叫同步,是指每一次执行一个操作,在这个操作完成之前,代码的执行会被阻塞,无法移到下一个操作上。阻塞就相当于你在超市里面买东西,结账,在排...
Android中的PopupWindow详解Android的对话框有两种:PopupWindow和AlertDialog。它们的不同点在于:AlertDialog的位置固定,而PopupWindow的位置可以随意AlertDialog是非阻塞线程的,而PopupWindow是阻塞线程的PopupWi...
分类:
移动开发 时间:
2014-09-12 20:29:24
阅读次数:
221
1、nginx相对于apache优点: 轻量级同样起web 服务比apache占用更少内存及资源 抗并发nginx 处理请求异步非阻塞而apache 则阻塞型高并发下nginx 能保持低资源低消耗高性能 高度模块化设计编写模块相对简单 社区活跃各种高性能模块出品迅速啊 apache 相对于nginx...
分类:
其他好文 时间:
2014-09-11 18:55:02
阅读次数:
189
模型一:阻塞模型---进程效率低;CPU利用低模型二:非阻塞模型---进程效率高;但是CPU利用率低;模型三:复用I/O模型---CPU利用率提高思想:对于任何一个套接字描述符发生事件时才由系统去唤醒进程,从而不需要因轮询而占用CPU;对于I/O复用典型的应用如下:(1)当客户处理多个描述字时(一般...
分类:
系统相关 时间:
2014-09-11 11:06:31
阅读次数:
287
老张爱喝茶,废话不说,煮开水。
出场人物:老张,水壶两把(普通水壶,简称水壶;会响的水壶,简称响水壶)。
1 老张把水壶放到火上,立等水开。(同步阻塞)
老张觉得自己有点傻
2 老张把水壶放到火上,去客厅看电视,时不时去厨房看看水开没有。(同步非阻塞)
老张还是觉得自己有点傻,于是变高端了,买了把会响笛的那种水壶。水开之后,能大声发出嘀~~~~的噪音。
3 老张把响水壶放到火上,立等水...
分类:
其他好文 时间:
2014-09-09 12:55:11
阅读次数:
181
select函数对数据结构fd_set进行操作,fd_set是一个bitmap,该集合由打开的文件描述符构成。对于管道而言,select是通过检查管道是否阻塞,来进行监听的。只要所监听的管道非阻塞,select就能立马获知,并将其在fd_set中的相应为置1。管道非阻塞只有两种情况,一种是客户端向管...
分类:
其他好文 时间:
2014-09-06 23:41:24
阅读次数:
263