谈到效率,当然要使用多线程!5个单例设计模式同时创建1亿个单例的耗时。
public class Client02 {
public static void main(String[] args) throws Exception{
long start = System.currentTimeMillis();
Thread t1 = new Thread(new Runnable() {
@Override
public void run() {
for (int i = 0; i < 100000000; i++) {
Object o = Husband01.getWife();
}
}
});
t1.start();
t1.join();//等待线程执行完毕
long end = System.currentTimeMillis();
System.out.println("耗时:" + (end - start));
}
}
执行结果表
懒汉式:耗时:1998ms
饿汉式:耗时:44ms
双重锁:耗时:227ms
内部类:耗时:46ms