最近在学校,我在平行计算课上学过C ++ / OpenMPI。我真的不喜欢用C ++编程,因为它的低级编程更难编程,更容易出错等。
所以我一直在想,JavaScript / NodeJS(我开始喜欢的东西)实际上是真正的并行吗?或者它只是使用非阻塞操作来模拟并行执行(我认为是这样)?像async
这样的库提供了与我在OpenMPI中使用的类似的功能:收集,分散甚至“并行”。但我有一种感觉它只使用非阻塞IO模拟并行性?
也许只有node-webcl
才真正平行?
更新:似乎可以通过网络工作者(~31分钟):观看http://www.infoq.com/presentations/Parallel-Programming-with-Nodejs
答案 0 :(得分:1)
在契约中,JavaScript是由其设计的单线程。但你不是第一个想要一些并行性的人,所以有些东西可以真正平行:
这就是它。还有WebAssembly threads proposal,但是,首先,它是一个提案,其次,WebAssembly不是JavaScript。
通常,JavaScript到目前为止还不是低级并行计算的最佳工具。还有很多其他工具可以更好地适应这种情况:Java,C#,Go ...
答案 1 :(得分:0)
使用Node.js,您的JavaScript在单个线程中运行。 IO是非阻塞的。