如果多线程程序在具有超线程的单核CPU上安全运行,那么它是否也可以在具有超线程的双核CPU上安全运行?关于线程安全等问题。
编辑
好吧,我试着说得更具体些。我指的是那些糟糕的源代码行,我可能已经忘记或者没能确定它们不会是一个(并发)问题。
因此,也许单核htt通过防止死锁、崩溃、cpu尖峰或我的代码在双核机器上引起的任何事情来“撒谎”。我不确定,htt PC的2个(逻辑)处理器与双核PC的2个处理器到底有多大不同,htt有多透明。如果有任何问题,我可能会买第二台个人电脑,这就是为什么我会问。
发布于 2010-12-04 18:37:37
你的问题必须更加精确;只需要抛出“线程安全等”。问题的结尾并不能说服我,你知道使用线程意味着什么。多线程应用程序是用什么语言编写的,您使用的是什么操作系统版本,您正在考虑使用什么芯片组?
无论如何,答案是-超线程“欺骗”操作系统,并使其确信机器中有比实际数量更多的物理核心。从操作系统的角度来看,单核超线程配置和双核非超线程配置没有区别。通过扩展,双核超线程配置只会使可用物理核心的数量增加一倍。
我认为您需要阅读关于您使用的芯片组的规范文件,以便更深入地了解超线程是如何实现的,以及它是如何实现内存共享和同步的。
https://stackoverflow.com/questions/4353080
复制相似问题