在CPU中运行多个线程

时间:2010-09-16 02:23:24

标签: multithreading cpu cpu-architecture

我们都知道JVM在一台基于CPU的机器中调度用户线程。为什么单个CP并行运行多个进程/线程,什么是约束阻止该功能

Also JVM is like a another software which is running in any machine,There may be thousands of other programs may waiting for the CPU cycle at a given time between this how JVM threads get the schedules from the CPU What is the parameter which gives the speed/possibility of the allocation of cycles for any process in any machine.

2 个答案:

答案 0 :(得分:2)

这不是一个Java问题,而是一个cpu架构问题。

并且一些CPU每个核心并行运行多个线程。看看英特尔和超线程......一个4线程的4核机器,与你的建议相反。

答案 1 :(得分:1)

传统的单核处理器一次只能处理一条指令,这意味着它们只能在任何一个时间点在一个线程中工作。

多线程支持是通过在cpu上给线程'转'来合成实现的,这样它们就可以同时运行。

多核处理器可以在任何一个时间点处理每个CPU的指令。

这个问题与CPU硬件设计有关,而不是编程,尤其是单一语言,即java,因为限制是全面的。