多个线程在JAVA中同时运行

时间:2015-04-22 09:59:26

标签: java multithreading

这个问题与Java中的多线程有关。

多线程是为了最大限度地利用cpu。 根据我读到的,一次只能执行一个线程。我相信单处理器系统也是如此。可以同时执行的线程数取决于什么因素?

对于Instance,如果我使用4核处理器,可以并发运行多少个线程?

先谢谢。

2 个答案:

答案 0 :(得分:1)

对于4核处理器4个线程,如果处理器中存在超线程,则为8个。

HyperThreading允许未以100%容量运行的核心在单个核心上运行2个线程。

答案 1 :(得分:0)

线程不受可用处理器/核心数量的限制。操作系统调度程序可以在单个CPU上的任意数量的线程之间来回切换。这就是抢先式多任务的含义。

处理器通常可以一次运行一个线程。当您运行多个进程时,您的处理器可以非常快速地在它们之间切换,从而为每个进程分配处理器的时间。这给出了并发的错觉,但实际上所有事情都是串行发生的。

因此,如果你有4个核心处理器,那么实际上4个线程可以并行运行。