java线程安全的单利模式

来源:互联网 发布:淘宝一颗钻多少钱 编辑:程序博客网 时间:2024/06/06 00:45

使用静态内置类实现单例模式

DCL解决了多线程并发下的线程安全问题,其实使用其他方式也可以达到同样的效果,代码实现如下:

[java] view plain copy print?
  1. package org.mlinge.s06;  
  2.   
  3. public class MySingleton {  
  4.       
  5.     //内部类  
  6.     private static class MySingletonHandler{  
  7.         private static MySingleton instance = new MySingleton();  
  8.     }   
  9.       
  10.     private MySingleton(){}  
  11.        
  12.     public static MySingleton getInstance() {   
  13.         return MySingletonHandler.instance;  
  14.     }  
  15. }  
以上代码就是使用静态内置类实现了单例模式,这里将前面验证多线程下执行情况的MyThread类放入到org.mlinge.s06包下运行,执行结果如下:
[java] view plain copy print?
  1. 1718900954  
  2. 1718900954  
  3. 1718900954  
  4. 1718900954  
  5. 1718900954  
  6. 1718900954  
  7. 1718900954  
  8. 1718900954  
  9. 1718900954  
  10. 1718900954  
从运行结果来看,静态内部类实现的单例在多线程并发下单个实例得到了保证。
原创粉丝点击