单例那个锁的最外层加个判空可以解决效率问题,不用每一次进方法都锁住