MTAPI 创建后,一直使用基于Apple一个开源的工具库来提供跨平台封装,其中的事件循环自行改了几次,比较稳定,但是代码的确有些丑陋。
最近因为工作需要,参考了一下Android的RIL_event,很简洁的提供了一个漂亮的select event loop,还支持定时器,于是动了借鉴的念头。
google一下,原来网上已经很多开源的event loop库,有的还实现了基于epoll的异步多路IO,真是强大。。。不过用不着,我只是写一个简单的进程间通讯组件。另外,Apple开源库的事件循环Windows上的实现是基于一个隐藏的窗口,但winsock2中已经提供了select,所以本次重构时,一并修改了过来。
总结起来,实现一个基于select的异步多路IO的要点是:
发表于 @ 2009年03月12日 12:15:00 | 评论( loading... ) | 举报| 收藏