【问题标题】:Java Multiple Threads equals multiple Cores? [duplicate]Java 多线程等于多核? [复制]
【发布时间】:2013-12-17 10:46:31
【问题描述】:

当我在 Java 应用程序中使用多个线程时,VM 会自动在不同的内核上运行这些线程吗?

【问题讨论】:

    标签: java multithreading processor


    【解决方案1】:

    JVM 不参与该决定(再说一次,它早在 Java 1.2 中)。现在归结为操作系统。因此,如果您使用多个线程,操作系统可以根据其调度算法将它们放在不同的内核上。 (另见this question and its answers。)

    【讨论】:

    • 所以我能做的最好的事情就是使用几个线程。然后如果可能/需要,操作系统会将它们放在几个核心上。 C++ 应用程序也一样吗?
    • @MinecraftShamrock 无论您使用哪种语言,操作系统都会调度线程,前提是它使用本机线程。
    • @MinecraftShamrock:恐怕我不了解 C++ 应用程序和线程的最新技术,我上一次在 C++ 中处理线程是在 17 年前,我很确定从那以后一直在前进。
    • 如果只是多线程/使用多个cpu核心,你会选择什么? Java 或 C++ 或其他语言?
    • @MinecraftShamrock:我可能不会基于此做出决定,几乎所有语言和环境都支持多线程和多核(一种或另一种方式)。其他标准可能会主导我的决定(我在做什么、团队中的技能、部署等)。
    猜你喜欢
    • 1970-01-01
    • 2018-02-13
    • 2012-01-24
    • 2011-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    相关资源
    最近更新 更多