1.前言解决了单例模式下lazy风格不支持高并发的问题,Hungry风格不支持懒加载的问题,确实很多编辑也写过--->DCL(DoubleCheckLock双重检查锁机制)来解决lazy的问题style不支持单例模式高并发,Hungry风格不支持懒加载静态内部类解决了单例模式下lazy风格不支持高并发,hungry风格不支持懒加载的问题。你可以看看它。2.代码实现——单例模式对象importjava.util.concurrent.atomic.AtomicInteger;公共类Single{privateAtomicIntegercount=newAtomicInteger(3);publicintgetReduce(){返回count.decrementAndGet();}}-枚举类型对象publicenumPhoneEnum{PHONE_ENUM;私有单例;PhoneEnum(){实例=newSingle();}publicSinglegetInstance(){返回实例;}}-testclasspublicclassBingFa{publicstaticvoidmain(String[]args){//创建3个线程,在线程中添加操作for(inti=0;i<3;i++){newThread(()->{Singleinstance=PhoneEnum.PHONE_ENUM.getInstance();intreduce=instance.getReduce();System.out.println(Thread.currentThread().getName()+"线程抢到手机,剩余个数phones"+"-----"+reduce);},String.valueOf(i)).start();}}}-测试结果3.总结最简单的实现方式,基于枚举类型的单例实现。这种实现方式通过Java枚举类型本身的特性保证实例创建的线程安全和实例的唯一性。建议使用
