办公室的一些研究员认为,当他们在代码中添加线程时,windows会将这些线程分配给在多核或多处理器机器的不同处理器上运行.然后,当没有发生这种情况时,一切都归咎于这些线程的存在在所述多核或多处理器机器上彼此冲突.
有人会揭穿或证实这个概念吗?
当应用程序生成多个线程时,它们确实可以分配给不同的处理器.实际上,不正确的多线程代码在单处理器计算机上运行正常但在多处理器计算机上显示问题的情况并不少见.(如果代码在时间切片面前是安全的,但在面对真正的并发时破坏了,就会发生这种情况.)