我们都知道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.
答案 0 :(得分:2)
这不是一个Java问题,而是一个cpu架构问题。
并且一些CPU每个核心并行运行多个线程。看看英特尔和超线程......一个4线程的4核机器,与你的建议相反。
答案 1 :(得分:1)
传统的单核处理器一次只能处理一条指令,这意味着它们只能在任何一个时间点在一个线程中工作。
多线程支持是通过在cpu上给线程'转'来合成实现的,这样它们就可以同时运行。
多核处理器可以在任何一个时间点处理每个CPU的指令。
这个问题与CPU硬件设计有关,而不是编程,尤其是单一语言,即java,因为限制是全面的。