Emi*_*mil 9 java multithreading multicore
我只是想知道如果必须使用多核处理器,我们是否真的需要算法是多线程的,或者jvm是否会使用多核甚至 - 虽然我们的算法是顺序的?
更新:
相关问题:
Jon*_*eet 18
我不相信任何当前的生产JVM实现执行自动多线程.他们可能会使用其他内核进行垃圾收集和其他一些内务处理,但如果您的代码按顺序表示,则很难自动并行化并保持精确的语义.
有可能是一些实验/研究的JVM其中设法并行的代码的JIT可以当场为尴尬的并行区域,但我还没有听说过这样的生产系统任何东西.即使JIT 确实发现了这种情况,它可能不如首先设计并行代码有效.(顺序编写代码,您可能很容易最终做出设计决策,这会无意中妨碍自动并行性.)
您的实现需要是多线程的,以便利用您可以使用的多个内核。
您的系统作为一个整体可以为每个正在运行的应用程序或服务使用一个内核。但是,除非以其他方式实现,否则每个正在运行的应用程序都将在单个线程/核心上工作。
归档时间: |
|
查看次数: |
8131 次 |
最近记录: |