我确实发现了很多关于单例和线程安全的问题,但没有一个能完全回答我这个问题......但如果它是重复的,我深表歉意。
如果我有一个将由多个线程使用的单例对象,我知道应该仔细考虑对成员变量的任何突变,但是对于方法来说是本地的变量呢?
考虑这个伪代码:
class Singleton [assume this has all the trappings of a proper singleton]
{
int doSomething() {
SomeObject obj;
obj.doStuff();
return obj.result();
}
}
在这种情况下,本地“obj”线程安全吗?即使 Singleton 类只有一个对象,每个线程是否都有自己的副本?