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();
}

}