单例模式与并发访问的误解
单例模式并不能解决并发访问,static变量或单例模式可以解决单实例问题,单不能解决并发访问问题,以为这是两个概念。
一、单例模式解决了以下问题:
1.如何保证多个对象中创建的实例是同一个
2.如何保证多线程中创建的实例是同一个
二、并发解决了以下问题:
多线程修改同一个实例时产生并发冲突
所以: 并发问题一般出现在单例模式中,非单例模式,即线程独有的实例是不会发生并发冲突。
建议:单例对象中变量的访问加锁控制并发访问
单例模式与并发访问的误解
单例模式并不能解决并发访问,static变量或单例模式可以解决单实例问题,单不能解决并发访问问题,以为这是两个概念。
一、单例模式解决了以下问题:
1.如何保证多个对象中创建的实例是同一个
2.如何保证多线程中创建的实例是同一个
二、并发解决了以下问题:
多线程修改同一个实例时产生并发冲突
所以: 并发问题一般出现在单例模式中,非单例模式,即线程独有的实例是不会发生并发冲突。
建议:单例对象中变量的访问加锁控制并发访问