java 同步方法的使用 防止多线程同时执行方法

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

/**
 * java 同步方法的使用,防止多线程同时执行方法。
 * 
 * synchronized方法加锁,不管哪一个线程运行到这个方法时,都要检查有没有其它线程正在用这个方法,
 * 有的话要等正在使用synchronized方法的线程运行完这个方法后再运行此线程,没有的话,直接运行。
 */
class Callme {
	synchronized void call(String msg) {
		System.out.print("[" + msg);

		try {
			Thread.sleep(1000);
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		System.out.println("]");
	}
}

class caller implements Runnable {
	String msg;
	Callme target;

	public caller(Callme t, String s) {
		target = t;
		msg = s;
	}

	public void run() {
		target.call(msg);
	}
}

class Synch1 {
	public static void main(String args[]) {
		Callme target = new Callme();
		new caller(target, "Hello").run();
		new caller(target, "Synchronized").run();
		new caller(target, "World").run();
	}
}