多线程环境中的单例。

| 当使用单例时,如果该类具有实例字段,那么当多个线程可能正在使用单例时,您应该小心吗? (并且字段是可变的,并且它们的值可以更改) 我没有尝试过,但理论上看来答案是肯定的,您将需要同步(或跳过单例)     
已邀请:
当您从多个线程(或进程)访问一个对象(或相同的可变数据)时,您将需要某种同步。无论是单例对象还是任何其他“非单例”对象,都没有区别。 但是,在单例的情况下,还有一个问题是单例的创建,如果是在第一次使用单例时创建的,那么第一次可能是同时为不同的线程创建的,因此您也需要同步单例创建。     
使用单例时,实例由应用程序中的所有线程共享,因此,是的,应格外小心,以确保不会出现并发问题。 但是,此问题不是单例独有的,每当在多个线程之间共享对象实例时,都应考虑这一问题。     
是的,您需要同步对单例的所有字段的访问,否则将对对象的状态造成严重破坏。 另一方面,如果可以避免在多线程环境中出现单例,那么情况会更好。为什么不绕过对象而不是使用同一实例呢? 即使共享,您仍然必须同步访问权限。 我并不是真正的单身人士,因为他们倾向于导致对更多单身人士的需求,这是不可避免的。     
与许多多线程问题一样,答案取决于它。 ;)只读字段不需要额外的同步,而任何读写字段都绝对需要同步。     

要回复问题请先登录注册