美文网首页
单例模式(使用同步方法)

单例模式(使用同步方法)

作者: bobcorbett | 来源:发表于2017-08-15 17:32 被阅读0次

    主方法

    public class main {
        public static void main(String[] args) throws InterruptedException {
            long time = System.currentTimeMillis();
            MyThread[] mts = new MyThread[10];
            for (int i = 0; i < 10; i++) {
                mts[i] = new MyThread();
            }
            for (int i = 0; i < 10; i++) {
                mts[i].start();
                mts[i].join();
            }
            System.out.println("耗时:" + (System.currentTimeMillis() - time));
        }
    }
    

    单例模式实现类

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

    线程

    public class MyThread extends Thread {
        @Override
        public void run() {
            System.out.println(Singleton.getInstance().hashCode());
        }
    }
    

    相关文章

      网友评论

          本文标题:单例模式(使用同步方法)

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