当使用单例时,如果类有实例字段,当多个线程可能使用单例时,您是否应该小心? (并且字段是可变的,它们的值可以更改)
我没有尝试过,但从理论上讲,答案似乎是肯定的,您需要同步(或跳过单例)
最佳答案
当您从多个线程(或进程)访问对象(或相同的可变数据)时,您将需要某种同步。无论是单例还是任何其他“非单例”对象都没有区别。
还有一个问题,在单例的情况下是单例的创建,如果这是第一次使用时创建的,那么第一次可能会同时用于不同的线程,因此您需要同步单例创建也是如此。
关于multithreading - 多线程环境中的单例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5633387/