CPU 线程和程序线程有什么区别
What is a difference between CPU threads and program threads
比如i5 7600k有4个线程,但是游戏可以有4个以上的线程。有什么区别,为什么它们有相同的名字?
具有 4 个线程的 CPU(实际上是具有 4 个内核的 CPU,或者可能是具有超线程的 2 内核 CPU)可以执行 4 个单独的线程 同时。一个程序可以有比这更多的线程,但在任何给定时间只能执行其中的 4 个 - 其他线程在等待 CPU 可用时将处于 sleep/wait 状态。
至于CPU "becomes available" 当线程数多于给定时间可以执行的线程数时,其他线程如何处理,这是操作系统调度程序的功能。操作系统调度程序周期性地(通常每隔几毫秒)轮流打开和关闭 CPU 线程,这样每个想要执行的线程最终都会打开 CPU.
不仅如此,但希望这涵盖了您问题的要点。
比如i5 7600k有4个线程,但是游戏可以有4个以上的线程。有什么区别,为什么它们有相同的名字?
具有 4 个线程的 CPU(实际上是具有 4 个内核的 CPU,或者可能是具有超线程的 2 内核 CPU)可以执行 4 个单独的线程 同时。一个程序可以有比这更多的线程,但在任何给定时间只能执行其中的 4 个 - 其他线程在等待 CPU 可用时将处于 sleep/wait 状态。
至于CPU "becomes available" 当线程数多于给定时间可以执行的线程数时,其他线程如何处理,这是操作系统调度程序的功能。操作系统调度程序周期性地(通常每隔几毫秒)轮流打开和关闭 CPU 线程,这样每个想要执行的线程最终都会打开 CPU.
不仅如此,但希望这涵盖了您问题的要点。