如果一个多线程程序在具有超线程的单核CPU上运行安全,它是否也可以在具有超线程的双核CPU上运行?关于线程安全等。
修改
好的,我试着更具体一点。我的意思是糟糕的源代码行,我将忘记或无法确定它们不会是(并发)问题。
因此,通过防止死锁,崩溃,cpu峰值或我的代码在2核机器上造成的任何事情,也许1核htt“谎言”。我不确定,htt PC的两个(逻辑)处理器究竟与双核PC的两个处理器有什么不同,htt是多么透明。如果有任何问题,我可能会为此购买第二台PC,这就是我问的原因。
答案 0 :(得分:1)
你必须更准确地回答你的问题;只是抛出“线程安全等”在问题的最后并没有说服我你知道使用线程意味着什么。什么语言是多线程应用程序,甚至是用什么操作系统编写的,你在考虑使用什么芯片组?
无论如何,答案是 - 超线程对操作系统来说是“谎言”,并说服机器中有更多的物理内核而不是实际内核。从操作系统的角度来看,单核超线程配置和双核非超线程配置之间没有区别。通过扩展,双核超线程配置只会使可用的表观物理核心数量增加一倍。
我认为您需要阅读有关您使用的芯片组的规范文件,以深入了解如何实现超线程以及如何实现内存共享和同步。