阻塞队列提供了可阻塞的 put 和 take 方法,以及支持定时的 offer 和 poll 方法。如果队列已经满了,那么put方法将阻塞直到有空间可以用;如果队列为空,那么take方法将一直阻塞直到有元素可用。队列可以使有界的,也可以是无界的,无界队列永远都不会充满,因此无界队列上的put方法永远不会阻塞。一种常见的阻塞生产者-消费者模式就是线程池与工作队列的组合,在 Executor 任务执行框架中就体现了这种模式。
意义:该模式能简化开发过程,因为他消除了生产者和消费者类之间的代码依赖性,此外,该模式...
分类:
编程语言 时间:
2014-12-06 21:37:31
阅读次数:
341
epoll与select/poll的区别
select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪,能够通知程序进行相应的操作。
select的本质是采用32个整数的32位,即32*32= 1024来标识,fd值为1-1024。当fd的值超过1024限制时,就必须修改FD_SETSIZE的大小。这个时...
分类:
系统相关 时间:
2014-12-06 14:07:16
阅读次数:
326
ansiblecallbacks编辑callbacks.py脚本文件(/usr/lib/python2.6/site-packages/ansible-1.8-py2.6.egg/ansible/callbacks.py)找到类AggregateStats在AggregateStats中有2个方法,defcompute(self,runner_results,setup=False,poll=False,ignore_errors=False):
‘‘‘walkthrougha..
分类:
其他好文 时间:
2014-11-30 17:19:58
阅读次数:
254
poll()函数: 这个函数是某些Unix系统提供的用于执行与select()函数同等功能的函数,下面是这个函数的声明:#include int poll(struct pollfd fds[], nfds_t nfds, int timeout); 参数说明:
fds:是一个struct poll...
分类:
其他好文 时间:
2014-11-26 13:47:47
阅读次数:
201
相关结构:http://lxr.free-electrons.com/source/include/linux/poll.h?v=3.8 33 /* 34 * Do not touch the structure directly, use the access functions 35 * p.....
分类:
其他好文 时间:
2014-11-21 15:47:04
阅读次数:
137
http://blog.csdn.net/lxmky/article/details/7669296第六章 IO复用:select和poll函数http://www.cnblogs.com/4tian/archive/2012/08/08/2624353.html
分类:
系统相关 时间:
2014-11-21 10:32:54
阅读次数:
209
理论描述: Serial polling is a method of obtaining specific information from GPIB devices when they request service. When you conduct a serial poll, the C....
分类:
其他好文 时间:
2014-11-20 18:42:21
阅读次数:
326
Nginx的框架设计—进程模型
在这之前,我们首先澄清几点事实:
nginx作为一个高性能服务器的特点,其实这也是所有的高性能服务器的特点,依赖epoll系统调用的高效(高效是相对select/poll这些系统调用的,底层有一个链表和红黑树,避免了轮询,减少了用户空间和系统空间之间的数据传递等),非阻塞(所有的操作都是非阻塞,这样),多进程(master-slave进程模型),这些事实使得ng...
分类:
系统相关 时间:
2014-11-19 20:35:59
阅读次数:
359
开发高性能网络程序时,windows开发者们言必称iocp,linux开发者们则言必称epoll。大家都明白epoll是一种IO多路复用技术,可以非常高效的处理数以百万计的socket句柄,比起以前的select和poll效率高大发了。我们用起epoll来都感觉挺爽,确实快,那么,它到底为什么可以高速处理这么多并发连接呢?
先简单回顾下如何使用C库封装的3个epoll系统调用吧。
...
分类:
系统相关 时间:
2014-11-19 20:34:27
阅读次数:
180
当前使用的是STM32+ucos_ii编写的,可以移植到安卓以及VC .NET等方便移植使用,采用modebus poll测试过.
只需要修改响应的通信接口即可,方便多串口使用
//modebus_rtu.c
/***********************************************************************************...
分类:
移动开发 时间:
2014-11-17 15:53:28
阅读次数:
290