线程安全下的单例模式

来源:互联网 发布:北京办公软件培训班 编辑:程序博客网 时间:2024/06/05 00:49
package entity;/*Java的单例模式是一种常见的设计模式,单例模式的写法有好几种,主要分为懒汉式单例,饿汉式单例还有登记式单例下面我们要介绍的就是多线程下的单例模式,多线程,我们以继承Thread和实现Runnable接口为主*/public class EhanSingleton {/*饿汉加载模式/立即加载模式*/             //1.初始化构造函数      private  EhanSingleton(){                }      private  static EhanSingleton  ehan = new EhanSingleton();            public static  EhanSingleton getInstance(){          try {              Thread.sleep(3000);   //方便多线程测试          } catch (InterruptedException e) {              e.printStackTrace();          }            return  ehan ;      }  }


main  方法:

package entity;public class MyThread extends Thread{  @Override      public void run() {               System.out.println(EhanSingleton.getInstance());                 }       public static void main(String[] args) {              MyThread m1 = new MyThread();              MyThread m12 = new MyThread();              MyThread m13 = new MyThread();             //显示为三个相同的内存地址,说明这个模式符合单例            m1.start();              m12.start();              m13.start();      }  }



原创粉丝点击