多线程程序的处理器数量

时间:2015-02-19 07:48:11

标签: java multithreading cpu processor

我们知道处理器一次只能处理一个线程。因此,当我们说单个处理器上的多任务处理时,意味着处理器在线程/进程之间切换,并为最终用户提供多任务处理的感觉。与此相关,我有一些问题需要更好地理解多线程的概念 -

  • 我认为,完全执行所有操作需要相同的时间 切换方式和逐个执行的过程,我 正确?
  • 如果是,将任务分成多个是否有任何好处 线程?
  • 当我们说四核八核处理器时,它是什么意思?这是否意味着系统分别有4个,8个处理器,并且一次可以处理4/8个线程?

2 个答案:

答案 0 :(得分:1)

  • 是的,需要相同的时间。事实上,它需要更长的时间,因为切换需要时间。

  • 将任务划分为多个线程可让您使用多个处理器。

    此外,CPU并不总是最慢的。想象一下,你有一个聊天服务器 - 你可以为每个客户端使用一个线程,每个线程大部分时间都不会做任何事情(等待用户输入消息)。

  • 四核处理器有4个核心。八核处理器有8个内核。核心是几乎独立的处理器,但在同一芯片上而不是单独的芯片。

答案 1 :(得分:0)

1想象一下,你的任务是阅读几个文件。如果您运行多个读取线程,它可能会显着提高性能

2想象一下,你的任务是计算一大堆数字的总和,如果你在阵列的两个部分上并行运行2个线程,速度将增加2