多线程程序的处理器数量

Number of processors for a multi threading program

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

  • 是的,这将花费相同的时间。其实时间会长一点,因为切换需要时间

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

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

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

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

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