package com.skcc.mthread;

public class MyThread002 {

public MyThread002() {
	// TODO Auto-generated constructor stub
}

/*****
 * synchronized void work()  同步方法
 * void eat() 异步方法
 * ***/
public synchronized void work()  {
	System.out.println(Thread.currentThread().getName() + " synchronized work method executed.");
	try {
		Thread.sleep(5);
	} catch (InterruptedException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
}

public void eat() {
	System.out.println(Thread.currentThread().getName() + " asynchronized eat method executed.");
}

public static void main(String[] args) {
	// TODO Auto-generated method stub

	MyThread002 m1 = new MyThread002();
	
	new Thread(new Runnable() {
		
		@Override
		public void run() {
			// TODO Auto-generated method stub
			m1.work();
		}
	},"t1").start();
	
	new Thread(new Runnable() {
				
				@Override
				public void run() {
					// TODO Auto-generated method stub
					//m1.work();
					m1.eat();
				}
			},"t2").start();
	new Thread(new Runnable() {
		
		@Override
		public void run() {
			// TODO Auto-generated method stub
			m1.work();
		}
	},"t3").start();
	new Thread(new Runnable() {
				
				@Override
				public void run() {
					// TODO Auto-generated method stub
					//m1.work();
					m1.eat();
				}
			},"t4").start();
}

}