【Java并发编程学习】1、实现多线程两种方式

public class ThreadImpl01 extends Thread {
    private int ticket = 5;

    @Override
    public void run() {
        for (int i = 0; i < 10; i++) {
            if (ticket > 0) {
                System.out.println("[ThreadImpl01] = " + ticket--);
            }
        }
    }
}
public class ThreadImpl02 implements Runnable {
    private int ticket = 5;

    @Override
    public void run() {
        for (int i = 0; i < 10; i++) {
            if (ticket > 0) {
                System.out.println("[ThreadImpl02] = " + ticket--);
            }
        }
    }
}
public class ThreadDemo {
    public static void main(String[] args) {
        /**
         * 实现Runnable接口相比继承Thread类的优势:
         *  1、可以避免由于Java的单继承特性而带来的局限;
         *  2、增强程序的健壮性,代码能够被多个线程共享,代码与数据是独立的;
         *  3、适合多个相同程序代码的线程区处理同一资源的情况。
         */
        new ThreadImpl01().start();
        new ThreadImpl01().start();
        new ThreadImpl01().start();

        ThreadImpl02 threadImpl02 = new ThreadImpl02();
        new Thread(threadImpl02).start();
        new Thread(threadImpl02).start();
        new Thread(threadImpl02).start();
    }
}

猜你喜欢

转载自my.oschina.net/u/3545495/blog/1809311