我正在调查使用DoppioJVM将(图形)Java应用程序移植到Javascript。为此,了解它如何在Javascript环境中处理Java线程将是一件好事。具体做法是:
答案 0 :(得分:0)
通过their paper on Doppio查看,似乎JVM在主Javascript线程中运行。或者,根据此github issue on running Doppio in a worker,它在Web工作者中运行良好。但是,似乎Doppio线程池是一个模拟线程池,所有这些都在同一个" real"线程,所以这些不会映射到Web工作者。这似乎由the about page on Doppio确认状态
由于JavaScript本质上是单线程的,因此一次只能运行一个线程
所以回答我自己的问题......
线程可以共享内存吗?
是的,因为他们都在主要的Javascript线程/单个工作者
中线程可以在不同的CPU内核上运行吗?
不,原因与上述相同
与通常的JVM相比,Doppio中可能存在线程的任何其他限制/问题
他们的论文中的一个主要内容,即公认的不具有多线程特性,是有24x到42x的减速
感谢Mike C和James Large在评论中发表的评论+链接。