美文网首页
设计模式-单例模式

设计模式-单例模式

作者: yehongyu_2018 | 来源:发表于2019-01-04 15:21 被阅读0次

    实现一个单例模式

    public class KafkaService {
        private static volatile KafkaService instance;
        private KafkaService() {}
        public static KafkaService getInstance() {
            if (instance == null) {
                synchronized (KafkaService.class) {
                    if (instance == null) {
                        instance = new KafkaService();
                    }
                }
            }
            return instance;
        }
    

    instance使用volatile关键字:
    作用是保证线程可见性,即当前线程更新了volatile值后,其他线程可以马上看到这个值。通过清除其他线程缓存在cache中该变量的旧值来实现。
    还有一个作用是禁止对改操作做重排。

    相关文章

      网友评论

          本文标题:设计模式-单例模式

          本文链接:https://www.haomeiwen.com/subject/ykxkrqtx.html