【发布时间】:2009-01-17 13:12:12
【问题描述】:
在多核环境中编码时需要注意哪些事项?
例如,对于单例类,最好创建一个全局对象,然后返回其引用,而不是静态对象。
即 而不是拥有
MyClass & GetInstance()
{
static Myclass singleMyclass;
return singleMyclass;
}
最好有
Myclass singleMyclass;
MyClass & GetInstance()
{
return singleMyclass;
}
GetInstance() 可能被多个线程同时调用。
编辑:
我的问题是关于 c++ 的隐藏结构,在多线程程序中使用它们时必须注意。在上述情况下,静态不是线程安全的,因为编译器为静态对象添加了一些指令,这不是线程安全的。我正在寻找应该注意的类似结构。
【问题讨论】:
标签: c++ multithreading