摘要: 最近在学习go,对go中网络处理的方式比较喜欢,就用lua coroutine + C 模仿着接口实现一个玩具玩玩.主要框架是lua导入C模块的时候会启动一个网络线程,lua和网络之间通过两个消息队列交互,lua将网络请求通过消息队列发送到C,C将应答和网络事件通过消息队列发送到lua.lua主线程运行在一个coroutine调度循环上,并不断的尝试从队列获得消息,一但收到消息就唤醒等待在此消息上阻塞的lua coroutine.跟go的区别是,go routine是可以在多个处理器核心上运行的.我在设计的时候也考虑过,是否将spwan函数也实现成多线程的,程序启动的时候开N个线程创建N个虚拟 阅读全文
posted @ 2014-01-08 18:46 sniperHW 阅读(1354) 评论(0) 推荐(0)