队列轮询代码怎么写才能不挖坑?
系统提示:
敌方出动了超级兵——宫本武藏
并对你大吼了一声“天下无双”!
队列轮询代码
高级复制粘贴工程师说“还真有”!
多线程轮询队列
那就是创建一个可多线程轮询的队列,核心是利用socket pair实现,封装方法在这里:
轮询方法如下:
这个方法的核心:
对于想要轮询的队列,创建一对连接的套接字;
通过在put套接字上编程来实现数据到达的通知,将get套接字传递给select等事件轮询函数;
在unix上可以直接调用socketpair()函数创建这样的套接字;
windos上还需要模拟一下,以上代码可以参考
其中fileno()通过select函数使得这个队列可以被轮询
最后可以提个小问题,你对socket的文件描述符了解么,可不可以试着讲一下有关socket文件描述符的相关知识?
了解socket就能自然地拓展很多知识面,比如tornado的协程调度,连接的并发处理等…