8
进行多线程JavaScript运行时实现的缺点是什么?[关闭]
在过去的一周中,我一直在研究多线程JavaScript运行时实现。我有一个使用JavaScriptCore和boost的C ++概念证明。 该体系结构很简单:当运行时完成对主脚本的评估后,它将启动并加入线程池,该线程池开始从共享优先级队列中选择任务,如果两个任务尝试同时访问变量,它将被标记为atomic,并且争夺访问权限。 问题是,当我向JavaScript程序员展示此设计时,我得到了非常负面的反馈,我也不知道为什么。即使是私下里,他们都说JavaScript是单线程的,必须重写现有的库,而如果我继续从事这一工作,gremlins将产生并吞噬一切生物。 我最初也有一个本地协程实现(使用boost上下文),但是我不得不放弃它(JavaScriptCore对于堆栈是很古怪的),并且我不想冒险,所以我决定不提它。 你怎么看?JavaScript是单线程的吗,应该单独使用吗?为什么每个人都反对并发JavaScript运行时的想法? 编辑:该项目现在位于GitHub上,您可以自己尝试一下,让我知道您的想法。 以下是无争用地在所有CPU内核上并行运行的承诺的图片: