【问题标题】:Number of processors for a multi threading program [closed]多线程程序的处理器数量[关闭]
【发布时间】:2015-02-19 07:48:11
【问题描述】:

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

  • 我认为,完全执行所有操作将花费相同的时间 进程切换方式,一一执行,我是不是 对吗?
  • 如果是,将任务分成多个有什么好处 线程?
  • 四核、八核处理器是什么意思?这是否意味着一个系统分别有 4、8 个处理器,并且一次可以处理 4/ 8 个线程?

【问题讨论】:

    标签: java multithreading cpu processor


    【解决方案1】:
    • 是的,所需时间相同。其实会花一点时间,因为切换需要时间。

    • 将一个任务分成多个线程可以让您使用多个处理器。

      另外,CPU 并不总是最慢的。假设您有一个聊天服务器 - 您可以为每个客户端使用一个线程,而每个线程大部分时间都什么都不做(等待用户输入消息)。

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

    【讨论】:

      【解决方案2】:

      1 假设您的任务是读取多个文件。如果您运行多个读取线程,它可能会显着提高性能

      2 假设你的任务是计算一个大数组的和,如果你在数组的 2 个部分上并行运行 2 个线程,速度将提高 2

      【讨论】:

      • 如果硬盘上的磁头需要在文件之间不断来回移动,则可以显着减少它。取决于您的技术。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-27
      • 1970-01-01
      • 1970-01-01
      • 2013-02-02
      • 1970-01-01
      相关资源
      最近更新 更多