25-结果分析
结果分析
本案例的关键是 getConnection() 方法和 private static class LazyDBConnection 实例。当第一个线程调用 getConnection() 方法时, LazyDBConnection 通过 DBConnection 的构造器初始化了 INSTANCE 对象,然后由 getConnection() 方法返回。其余线程在调用 getConnection()方 法时,已创建了 INSTANCE ,所以所有线程都使用这个只创建一次的对象。
虽然运行程序能够看到这20个任务的启动和结束信息,但是创建信息只有一个。