多线程程序的处理器数量
Number of processors for a multi threading program
我们知道一个处理器一次只能处理一个线程。因此,当我们说在单个处理器上进行多任务处理时,意味着处理器在线程/进程之间切换,并给最终用户一种多任务处理的感觉。与之相关,我有一些问题可以更好地理解多线程的概念 -
- 我认为,完全执行所有操作将花费相同的时间
切换方式的流程,一个一个执行,我是吗
对吗?
- 如果是,将一个任务分成多个有什么好处
线程?
- 当我们说四核、八核处理器时,这意味着什么?是不是说一个系统分别有4个、8个处理器,一次可以处理4/ 8个线程?
是的,这将花费相同的时间。其实时间会长一点,因为切换需要时间
将一个任务分成多个线程可以让您使用多个处理器。
此外,CPU 并不总是最慢的。假设您有一个聊天服务器 - 您可以为每个客户端使用一个线程,并且每个线程大部分时间什么都不做(等待用户键入消息)。
四核处理器有四个核心。八核处理器有 8 个核心。内核几乎是独立的处理器,但在同一个芯片上而不是单独的芯片上。
1 假设您的任务是读取多个文件。如果您 运行 多个阅读线程可能会显着提高性能
2 假设你的任务是计算一个大数组的和,如果你运行 2个线程并行处理数组的2个部分,速度将提高2
我们知道一个处理器一次只能处理一个线程。因此,当我们说在单个处理器上进行多任务处理时,意味着处理器在线程/进程之间切换,并给最终用户一种多任务处理的感觉。与之相关,我有一些问题可以更好地理解多线程的概念 -
- 我认为,完全执行所有操作将花费相同的时间 切换方式的流程,一个一个执行,我是吗 对吗?
- 如果是,将一个任务分成多个有什么好处 线程?
- 当我们说四核、八核处理器时,这意味着什么?是不是说一个系统分别有4个、8个处理器,一次可以处理4/ 8个线程?
是的,这将花费相同的时间。其实时间会长一点,因为切换需要时间
将一个任务分成多个线程可以让您使用多个处理器。
此外,CPU 并不总是最慢的。假设您有一个聊天服务器 - 您可以为每个客户端使用一个线程,并且每个线程大部分时间什么都不做(等待用户键入消息)。
四核处理器有四个核心。八核处理器有 8 个核心。内核几乎是独立的处理器,但在同一个芯片上而不是单独的芯片上。
1 假设您的任务是读取多个文件。如果您 运行 多个阅读线程可能会显着提高性能
2 假设你的任务是计算一个大数组的和,如果你运行 2个线程并行处理数组的2个部分,速度将提高2