Mat*_*att 18 node.js meteor node-fibers
代码是不是通过同步来提高效率?为什么编码同步获胜?我在做一些研究时找到了这两个链接:http://bjouhier.wordpress.com/2012/03/11/fibers-and-threads-in-node-js-what-for/,https : //github.com /贤者/ streamlinejs /
如果目标是防止意大利面条代码,那么显然你可以使用例如streamline.js的异步代码,这不是回调金字塔,对吧?
Bru*_*ier 33
你必须在这里区分两件事:
fs.readFileSync,fs.statSync等等.所有这些功能有一个Sync在他们的名字(*).这些功能是真正的同步和阻塞.如果您调用它们,则会阻止事件循环并终止节点的性能.您应该只在服务器的初始化脚本(或命令行脚本)中使用这些函数.(*)require也是阻塞的.
流星使用纤维.它的代码是以同步方式编写的,但它是非阻塞的.
胜利不在性能方面(这些解决方案有自己的开销,因此它们可能稍微慢一点,但它们也可以比特定代码模式(如缓存)的原始回调更好.胜利以及这些解决方案开发的原因在于可用性方面:它们允许您以同步方式编写代码,即使您正在调用异步函数.
2017年1月25日编辑:我创建了3个要点来说明非阻塞纤维: fiber-does-not-block.js,fiber-sleep-sequentials.js,fiber-sleep-parallel.js
| 归档时间: |
|
| 查看次数: |
3604 次 |
| 最近记录: |