单例 懒汉式且使用 synchronized


package com.statestr.gcth.application.dao.impl;

public class LazySingleton {
	
	private LazySingleton(){
		
	}

	public synchronized static LazySingleton obtainInstance(){
		return (instance == null) ? new LazySingleton() : instance;
	}
	
	private static LazySingleton instance;
	
	
	public static void main(String[] args) {
		Thread a = new Thread(new Runnable() {
			
			@Override
			public void run() {
				
				LazySingleton.obtainInstance();
				
			}
		});
		
		Thread b = new Thread(new Runnable() {
			
			@Override
			public void run() {
				
				LazySingleton.obtainInstance();
				
			}
		});
		
		
		a.start();
		b.start();
		
		
		while(true){
			
		}
	}
}


猜你喜欢

转载自dannyhz.iteye.com/blog/2365726