node.js fiber实现,求教
发布于 3天前 作者 simon4546 164 次浏览 来自 问答

http://alexeypetrushin.github.io/synchronize/docs/index.html 在开发中,由于功能越来越多,再回头看各模块的代码实在对回调写法有点吐了(不同意的也别拍砖,不是来辩论的), 就尝试了n次js实现的流程控制模块,async,q,step,甚至想开harmony模式用co实现,但在真实的使用中,还是有点麻烦

终于给我发现了这个synchronize.js库,是基于node-fibers实现的,在写法上对原来的改动较少,同时兼容也很不错,不像许多 fiber库都mongodb和mocha的兼容都不行

我尝试了看node-fibers的c++实现,但这块功底很弱,没有看懂。。 希望有强者出现,帮我解读一下node-fibers的实现原理,我目前的理解是它重写了ObjectTemplate注入了Fiber模块 使用了coroutine实现 同时在windows平台上使用的是线程代替纤程来实现相同的效果

只能读到这里,希望有强者能再深入一下,特别是如何在Fiber模块wrap以后,里面可以实现yield功能部分代码 谢谢。

7 回复

而且在我的机器上,使用node-fiber改写的nodeclub的首页拉取贴子要比异步实现快10%

c艹果断快 不过我也折腾了一下c的拓展,只能说累,可能不习惯V8的数据类型之类的。 如果不是CPU密集型,我觉得不如多起几个cluster比较实在省事

感觉楼主好厉害

@wszgxa 厉害毛。。。 @xicilion @ngot 求解读

@simon4546 不要@ngot 了 他会推荐你fibjs的(^o^)/~

fibjs的第三方库是个大问题,暂时还不会考虑fibjs

fibjs,为什么不能像node-fibers一样,加一个js函数来wrap一下实现同步。 那么多的第三方库都是自已实现,是要自已做个生态系统呀,这个想法太。。。。。不好实现了吧

回到顶部