多线程代码小案例

public class TestThread {

    public static void main(String args[]) {

        RunnableEat R1 = new RunnableEat( "eat");
        Thread eat = new Thread(R1);
        eat.start();

        RunnableSleep R2 = new RunnableSleep( "sleep");
        Thread sleep = new Thread(R2);
        sleep.start();
    }
}
class RunnableEat implements Runnable {
    private String threadName;

    RunnableEat( String name) {
        threadName = name;
        System.out.println("创建线程eat:" +  threadName );
    }

    @Override
    public void run() {
        System.out.println("执行线程eat " +  threadName );
        try {
            for(int i = 4; i > 0; i--) {
                System.out.println("ThreadEat: " + threadName + ", " + i);
                // 让线程睡眠一会
                Thread.sleep(50);
            }
        }catch (InterruptedException e) {
            System.out.println("Thread " +  threadName + " interrupted.");
        }
        System.out.println("Thread " +  threadName + " exiting.存在,但不执行?");
    }
}
class RunnableSleep implements Runnable {
    private String threadName;

    RunnableSleep( String name) {
        threadName = name;
        System.out.println("创建线程sleep" +  threadName );
    }

    @Override
    public void run() {
        System.out.println("执行线程sleep " +  threadName );
        try {
            for(int i = 4; i > 0; i--) {
                System.out.println("线程sleep睡眠: " + threadName + ", " + i);
                // 让线程睡眠一会
                Thread.sleep(50);
            }
        }catch (InterruptedException e) {
            System.out.println("Thread " +  threadName + " interrupted.终止");
        }
        System.out.println("Thread " +  threadName + " exiting.存在,但不执行");
    }
}

猜你喜欢

转载自blog.csdn.net/qq_28657577/article/details/82972592