libGod v2.0(单线程版)即将发布

去年下旬,一套历时4年精心雕琢的服务端开发库libGod v1.0横空出世,但只是昙花一现,随即便没有了后续消息,甚至有网友发邮件询问这个库是不是停止开发了。其实没有停止开发,而且进行了大规模的重构,虽然中途因其他事耽搁,重构周期拖得比较长,但现在重构也接近尾声了,一个全新的2.0版即将发布。

2.0版本对比1.0,整个库的调度核心的性能提高了60%以上,而且接口更简单,更容易使用了。

2.0开始,libGod分单线程和多线程两个版本。之所以分出个单线程版,是因为我发现很多时候,非计算密集型服务端程序的CPU需求并不是太高,单核计算能够支撑。

我们专门针对单线程进行了特殊优化,调度性能比多线程版本高。另外单线程版还有一个很大的优势就是逻辑更简单了。现在很多系统的线程是抢占式的调度,访问共享资源就免不了加锁。协程是协作式调度,大部分情况下是不需要加锁的。而了解我们项目的应该都知道,libGod整个框架是基于协程驱动的。libGod多线程版虽然也是基于协程,但因为夹杂着多线程的抢占式调度,所以处处还是需要加锁。而单线程版就是单纯的协作式调度,所以绝大部分情况可以不用加锁。从此远离死锁烦恼,生活突然如此美好,哈哈。

文章目录