Java 多线程如何工作

Java 多线程如何工作,java,multithreading,Java,Multithreading,关于多线程,我有一个非常基本的问题。如果我们一次运行10个线程,那么在单个实例中只有一个线程处于活动状态,并且在线程之间进行切换,或者在单个实例中可以运行多个线程?这实际上取决于您的CPU和程序设计。如果你有一台四核电脑,你可以同时运行8个线程。这取决于硬件。许多当前的处理器芯片包含多个CPU,CPU本身可能能够交错多个线程。一台大型服务器可能有几十个处理器芯片。在这样的系统上,所有10个线程都可以真正同时运行。这取决于您的硬件和操作系统。如果内核数少于线程数,那么操作系统可能会交错这些线程,也

关于多线程,我有一个非常基本的问题。如果我们一次运行10个线程,那么在单个实例中只有一个线程处于活动状态,并且在线程之间进行切换,或者在单个实例中可以运行多个线程?

这实际上取决于您的CPU和程序设计。如果你有一台四核电脑,你可以同时运行8个线程。

这取决于硬件。许多当前的处理器芯片包含多个CPU,CPU本身可能能够交错多个线程。一台大型服务器可能有几十个处理器芯片。在这样的系统上,所有10个线程都可以真正同时运行。

这取决于您的硬件和操作系统。如果内核数少于线程数,那么操作系统可能会交错这些线程,也就是说,每当其中一个线程执行例如IO操作或每次完成其时间片时,都会切换到不同的线程


此外,每个核心运行一个执行线程。这就是多核的用途。这通常与时间切片行为混合在一起。

一次只运行一个线程。处理器会快速切换它们。例如,考虑使用拼写CHK……/P>的文本编辑器。 u型是一根线 prog chks fr错误-这是另一个线程


现在,如果它们是多线程的,那么整个进程将在内存中获得空间,然后不同的线程将并发执行

您能重新表述一下吗?现在这几乎毫无意义。另外,请展示你所做的研究。所以不是你的研究助手。如果你看到CPU配置,那么你会看到类似4线程2内核的东西。这意味着一次4个线程。我想如果你一次运行超过4个线程,那么它将在CLR中被延迟。请阅读本文,如果你的CPU限制为4个线程,那么它一次不会运行超过4个线程。这个问题与SE/Super User上的一个问题重复:一个CPU核心甚至可能运行多个线程,具体取决于类型。考虑UpjyPARC T2处理器,每个处理器内核运行8个线程,这个答案可能是误导性的。我想你说的是英特尔的超线程技术。在这种情况下,您应该阅读以下内容: