js是单线程的,而网上的Concurrent.Thread.js可以模拟线程。
我不知道concurrent.thread.js的原理是什么,但觉得使用yield可以达到同样的效果。 那么能不能用yield模拟出线程呢,即多个函数同时运行,该如何把普通函数转换为生成器再用next()方法来回切换呢
来自酷炫的 CNodeMD
这东东以前还真没注意过,扫了一眼,在 Concurrent.Thread sourceforge 项目主页上有作者的论文,详细解释了为什么要折腾这个,以及是怎么实现的。基本思想就是把 UI 线程当 cpu,搞分时复用。由于 JavaScript 没有 continuation 的概念,所以用它创建线程时会对代码做手脚的,主要是把语句流改成函数链,这样就有办法做调度了。
CNode 社区为国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究。
这东东以前还真没注意过,扫了一眼,在 Concurrent.Thread sourceforge 项目主页上有作者的论文,详细解释了为什么要折腾这个,以及是怎么实现的。基本思想就是把 UI 线程当 cpu,搞分时复用。由于 JavaScript 没有 continuation 的概念,所以用它创建线程时会对代码做手脚的,主要是把语句流改成函数链,这样就有办法做调度了。