多线程如何工作

时间:2013-09-01 14:35:35

标签: java multithreading

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

4 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

一次只运行一个线程。处理器快速切换它们。例如考虑使用拼写chk的文本编辑器。

你输入一个帖子 prog chks fr errors-那是另一个线程

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