使用多核处理器是否需要多线程算法?

埃米尔:

我只是想知道我们是否真的需要算法是多线程的,如果它必须利用多核处理器,或者jvm是否要利用多核处理器,即使我们的算法是顺序的?

更新:

相关问题:

乔恩·斯基特(Jon Skeet):

我不相信任何当前的生产JVM实现都可以执行自动多线程。他们可能会使用其他核心进行垃圾回收和其他内部管理,但是如果您的代码是顺序表达的,则很难自动并行化它并仍然保留精确的语义。

可能是一些实验/研究的JVM其中设法并行的代码的JIT可以当场为尴尬的并行区域,但我还没有听说过这样的生产系统任何东西。即使JIT 确实发现了这种情况,它也可能比最初为并行设计代码的效率低(顺序编写代码,您很容易最终做出设计决定,从而无意间妨碍了自动并行性。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

多核处理器和多线程处理器(SMT)的优点是什么

具有超线程的多核处理器上的多线程程序

使用多核(线程)处理器进行FOR循环

使GNU Octave与多核处理器一起工作。(多线程)

多线程程序的处理器数量

Java是否支持多核处理器/并行处理?

限制多线程应用程序的处理器数量

是否只有多处理或单个进程的多线程是否也会利用多核?

多核处理器与单核多个处理器的解释

为什么选择多核处理器?

多个线程可以在多核处理器中并行运行吗

单线程在多核处理器上的数据可见性

单线程脚本在多核处理器上消耗了太多的cpu

在 Python 中启动线程时是否使用整个处理器线程?

多核上下文切换期间是否清除了处理器缓存?

c ++运算符| =原子是否带有多核处理器?

引导时,较新的Ubuntu版本是否受益于多核处理器?

线程是否在多个处理器上执行?

如何使Java与GZIPInputStream一起使用多核处理器?

多线程应用程序如何在多处理器系统中工作

Goroutine在多核处理器上的表现如何

为什么多核处理器产生的热量更少

如何计算多核处理器的时钟速度?

处理器与内核(多处理器与多核)的定义

多线程如何利用多核?

如何使用多线程或任何其他 .NET 技术来扩展执行网络、磁盘和处理器密集型作业的程序?

使用 32 位 ARM 处理器在多线程系统中以用户模式在汇编中编写 64 位原子操作(可能吗?)

使用 pulsar 消息侦听器进行多线程处理

在处理器上调度作业的算法