VTCP QIO技术解析

来源:互联网 发布:查看车的软件 编辑:程序博客网 时间:2024/06/05 05:08
vtcp QIO 解析
2015-01-31 21:30

什么是QIO,Q可以理解为 Quick(快速),也可以理解 Queue(队列),实际上其原理就是一个快速的任务队列操作,内部包涵高效的线程池任务分配代码,可以把VTCP内部事件快速的分配给应用层的线程池进行并行的处理。


QIO的优点,QIO吸收了ICOP+EPOLL双重优点;他像 EPOLL 接口一样,首先要应用层提交关心的事件,然后再像 IOCP 一样利用用户线程池从队列里取出1个事件来处理。线程池循环的取事件,处理事件,周而复始;QIO允许用户像IOCP一样,给线程池投递自定义事件。


QIO使用步骤
第一步:创建出VTCP_QIO_HANDLE,通过vtcp_qio_create()函数。

第二步:创建出N个用户线程池,循环调用vtcp_qio_get(...)取事件,然后更具事件类型去处理。

第三步:创建出VTCP_HANDLE,通过vtcp_socket/vtcp_socketshare,设置句柄为非阻塞模式,进行监听或者连接。

第四部:关联VTCP_HANDLE事件到VTCP_QIO_HANDLE上通过vtcp_qio_set(...)。


总共四步,就创建出了高性能的服务器与客户器。


QIO支持连接可高达60000以上基本与理论设计目标65535个vtcp支持的最大句柄数量一致。

0 0
原创粉丝点击