关闭

CERL2 系列4:CERL体系与框架概览

在《CERL2 系列1: Hello,CERL2!纤程!》中,我们提到:CERL2 在 CERL 上进行了编程模型的演化,并且形成了多个子库。最主要的两个子库为 async 和 venus。 我们这一篇中,将更加详细地描述 CERL2 的整体框架体系。先一图概括之:                                async                    ...
阅读(4603) 评论(6)

CERL2 系列3:CERL既是网络库也是操作系统

我不是在标题党的拥趸。做 cerl/async 就是在做操作系统,这是我和共同开发 cerl 的伙伴们的共同认识。 对于一个适应服务器开发的操作系统,最重要的无非是3件事情:进程管理IO管理内存管理这3件事情我们都自己做了。 首先进程管理。尽管Windows提供了Fiber,Linux也有libucontext库。但是它们并不是操作系统中的“主角”。在当前的...
阅读(5134) 评论(8)

CERL2 系列2:网络编程该用同步还是异步?

在C/C++中,libevent、boost asio 这两个网络库都采用异步编程模型,当IO完成事件发生时,调用一个回调函数处理它。这种编程模型有很好的IO吞吐量。但是付出的代价也很大:丑陋的代码。应用程序逻辑被一个个回调函数切割得支离破碎。复杂的内存管理。一个不小心,就有可能出现回调函数执行的时候,相应的内存已经被释放。调试困难。由于函数被切割,Debug的时候,代码执行顺序不...
阅读(7176) 评论(65)

CERL2 系列1: Hello,CERL2!纤程!

CERL2 经过一段时间的发展,已经稳定下来,是时候揭开它的面纱了。和 CERL2 最初设想并不一样,CERL2 最终没有成为一种语言,它在 CERL 上进行了编程模型的演化,并且形成了多个子库。最主要的两个子库为 async 和 venus。最底层的是 async,它需要针对不同的平台进行包装,以此形成一个网络层。你可以 拿 async  和 boost asio 类比,两者确实是类似的东西,只...
阅读(9755) 评论(6)
    个人资料
    • 访问:1125519次
    • 积分:13205
    • 等级:
    • 排名:第1043名
    • 原创:160篇
    • 转载:27篇
    • 译文:0篇
    • 评论:1456条
    最新评论