使用静态内置类同样可以达到线程安全的目的。
public class MyObject {
private static class MyObjectHandler{
private static MyObject myObject = new MyObject();
}
public MyObject() {
}
public static MyObject getInstance(){
return MyObjectHandler.myObject;
}
}
public class MyThread extends Thread{
@Override
public void run() {
System.out.println(MyObject.getInstance().hashCode());
}
}
public class Run {
public static void main(String[] args) {
MyThread myThread0 = new MyThread();
MyThread myThread1 = new MyThread();
MyThread myThread2 = new MyThread();
myThread0.start();
myThread1.start();
myThread2.start();
}
}
下一节:序列化与反序列化的单例模式实现
来源:oschina
链接:https://my.oschina.net/projerry/blog/3165809