gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 01:28:40 24 4
gpt4 key购买 nike

假设我们有一个游戏应用程序,其中汽车、自行车和塔钟在单独的线程中并行运行。

众所周知,一次只有一个线程运行。 (线程之间的上下文切换非常快,这使得它看起来像是与人眼并行运行)

假设游戏在双核手机上运行。

移动处理器的两个核心会共享 3 个线程吗?

汽车线程和自行车线程是否有可能在任何时间点同时运行?

最佳答案

is there any possibility for the car thread and bike thread to run simultaneously at any point of time?

是的,有这种可能性。它取决于 JVM 实现(因为您提到了 Java)和操作系统实现,因此不能保证,但有可能。

As we know only one thread runs at a time. (context switch happens between threads very fast which makes it look like it is running parallel to human eyes)

这是错误的。这在单核单处理器上是正确的,并且在某些 JVM/OS 上可能是正确的,但在一般情况下是错误的。

参见JLS chapter 17 :

Threads may be supported by having many hardware processors, by time-slicing a single hardware processor, or by time-slicing many hardware processors.

关于java - 多线程应用程序在多处理器系统中如何工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56456741/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com