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

标签 java multithreading multicore

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

更新:

相关问题:

最佳答案

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

可能有一些实验性/研究型 JVM 试图并行化 JIT 可能发现的并行性令人尴尬的代码区域,但我还没有听说过用于生产系统的类似情况。即使 JIT 确实发现了这种事情,它的效率也可能不如设计您的代码以实现并行性。 (按顺序编写代码,您很容易做出无意中妨碍自动并行性的设计决策。)

关于java - 使用多核处理器是否需要多线程算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3836937/

相关文章:

java - 如何通过在java中的空位置添加零来使两个不相等的二维数组相等?

c++ - 如何在不同线程的 C++/CLI 中将图像数据从 BitmapSource (WPF) 复制到 cv::Mat (OpenCV)?

java - java 多线程循环法

java - ListView 适配器异步操作

java - 当 Scanner 等待用户输入时 GUI 卡住

multithreading - tkinter tkMessageBox 不能在线程中工作

java - Java 的数据流编程 API?

r - 在 R 中使用多核来分析 GWAS 数据

Android设置线程亲和性

java - 如何使用 "US-ASCII"和 HmacSHA256 将 java 代码覆盖到 Objective-C ?