“如果您能感觉到计算机的操作每隔几毫秒就会自行切换数十项任务,您肯定会同意计算机似乎在同时执行这些任务,即使我们知道计算机是交错的各种任务的计算”
- M.Ben-Ari,并发编程原理,1982 年。
那么在单核 CPU 上,一个原子操作不可能与同一系统中的另一个原子操作同时执行?
最佳答案
是的,单核 CPU 可以同时执行多个操作。例如,奔腾处理器有多个同时运行的流水线。一个可能正在做一个加法,而另一个正在从内存中加载。当然,您无法观察同时操作的效果。
此外,像 Pentium 4 这样的架构是单核的,但可以有超线程。这意味着单个内核中的不同流水线不仅可以同时执行指令,而且这些操作可以用于不同的线程。换句话说,CPU 可以在同一个时钟周期内为不同的线程发出指令。
关于concurrency - 单核 CPU 能否实现真正的并发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19695962/