Doppio:多线程是如何工作的,有什么限制吗
Doppio: how does multi-threading work and are there any limitations?
我正在研究使用DoppioJVM将(图形)Java应用程序移植到Javascript。为此,最好了解一下它是如何在Javascript环境中处理Java线程的。具体而言:
- 线程可以共享内存吗
- 线程可以在不同的CPU内核上运行吗
- 与普通JVM相比,Doppio中线程可能存在的任何其他限制/问题
浏览他们关于Doppio的论文,JVM似乎在主Javascript线程中运行。或者,根据github关于在工作人员中运行Doppio的问题,它在网络工作人员中可以正常运行。然而,Doppio线程池似乎是一个模拟线程池,所有线程都在同一个"真实"线程中,因此这些线程不会映射到web工作者。Doppio上关于的页面似乎证实了这一点
由于JavaScript本质上是单线程的,一次只有一个线程运行
所以为了回答我自己的问题。。。
线程可以共享内存吗?
是的,因为它们都在主Javascript线程/单个工作中
线程可以在不同的CPU内核上运行吗?
不,原因与上述相同
与通常的JVM 相比,线程在Doppio中可能存在的任何其他限制/问题
他们论文中的一个主要问题是的速度降低了24到42倍
感谢Mike C和James Large在评论中发布的评论+链接。
相关文章:
- 我错过了什么让ScrollSpy工作
- Doppio:多线程是如何工作的,有什么限制吗
- 什么能抵消我的工作压力
- 让 jquery 为 ajax 添加的元素工作的最佳方法是什么?
- 在什么情况下,应该.deep.equal失败,但使用JSON.stringify进行比较工作正常
- 我的ajax加载栏出了什么问题?为什么它不能正常工作
- 在表单提交将DOM的一部分替换为分部之后,我应该将ajax成功绑定到什么来使我的javascript工作
- 有什么技巧可以让vw调整大小以在webkit浏览器上的:before伪类上工作吗
- Jquery自动完成不是't工作.我做错了什么
- Javascript .call() 用法.一个工作案例,一个不是.有什么区别
- 在fter.js插件工作之前,我错过了什么
- 什么是完美的工作流程来处理A,B和amp;其中A取决于B,B取决于C
- 角度控制器的作用是什么;t控制器'他的工作由指令来完成
- 我不确定我缺少什么才能使此应用程序在Websockets上在Google Cloud上正常工作
- 我的jQuery在JSFiddle中工作,但不能在我的网站上工作!我做错了什么
- 为什么这个jQuery选择器工作?它基于什么
- FileWriter在javascript中究竟是什么工作的
- 什么工作得更快“for(在obj中键入)”或“.forEach”
- 角度和$q:奇怪的是,什么都没有工作
- 无法让插座工作 - 我错过了什么愚蠢的东西