libgod 高性能异步网络服务框架

程序名称:libgod

授权协议: 未知

操作系统: Linux

开发语言: C/C++

libgod 介绍

libGod是一个全异步+协程机制实现的网络库,适用于windows、linux、bsd等多种平台。内部使用IOCP、epoll、kqueue等系统调用管理事件机制,同时巧妙的利用协程,将复杂的异步逻辑转换为同步,使用起来非常简单。libGod致力于为游戏、云计算等高并发服务器提供一个高性能而且简单易用的底层,封装了多线程,IO,内存缓冲区等复杂逻辑,上层应用只要专注写逻辑,使用libGod很容易就可以开发出一个高性能高并发的服务器。

从2.0版本开始,有两个大的变化:

  1. 为了加快开发进度,暂时去除了linux以外平台的支持,专注于linux平台的开发。
  2. 分出了单线程和多线程版本。我们专门针对单线程进行了特殊优化,调度性能比多线程版本高。单线程版还有一个很大的优势就是逻辑更简单了。现在很多系统的线程是抢占式的调度,访问共享资源就免不了加锁。协程是协作式调度,大部分情况下是不需要加锁的。而了解我们项目的应该都知道,libGod整个框架是基于协程驱动的。libGod多线程版虽然也是基于协程,但因为夹杂着多线程的抢占式调度,所以处处还是需要加锁。而单线程版就是单纯的协作式调度,所以绝大部分情况可以不用加锁。

libgod 官网

http://www.libgod.com

相关编程语言

BlazeDS 是一个基于服务器的Java 远程控制(remoting...
OVal 是一个可扩展的Java对象数据验证框架,验证的规...
Volta 是一套开发工具,专为开发分布式、实时系统应...
OpenDDS 是一个开源的 C++ 实现的 对象管理组织 OMG...
JADE (Java Agent DEvelopment Framework) 是一个完...
FastMM ,在D2006和2007中已代替了原来的内存管理器。