Thread

スレッドを少し調べた

package main;

import thread.CountDown;
import thread.CountDownThread;

public class Main {

    public static void main(String[] args) {
        /*
         * http://www.techscore.com/tech/Java/JavaSE/Thread/index/
         * Threadクラスを継承する方法のほうが、 実現するのは簡単です。しかしrunメソッドをオーバーライドするだけの簡単なスレッドなら、
         * Runnableインタフェースを利用するようにして下さい。
         * Threadクラスを継承する方法は、run以外のメソッドもオーバーライドしてスレッ
         * ドの基本的な動作を変えたい場合にのみ使用する事が推奨されています。
         */
        CountDownThread c1 = new CountDownThread("T1");
        CountDownThread c2 = new CountDownThread("T2");
        c1.start();
        c2.start();

        CountDown c3 = new CountDown("T3");
        CountDown c4 = new CountDown("T4");

        Thread t1 = new Thread(c3);
        Thread t2 = new Thread(c4);

        t1.start();
        t2.start();
    }

}
package thread;

public class CountDown implements Runnable {
    private String name;

    public CountDown(String name) {
        this.name = name;
    }

    @Override
    public void run() {
        try {
            for (int i = 3; i > -1; i--) {
                Thread.sleep(1000);
                System.out.println(name + ":" + i);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}
package thread;

public class CountDownThread extends Thread {
    private String name;

    public CountDownThread(String name) {
        this.name = name;
    }

    @Override
    public void run() {
        try {
            for (int i = 3; i > -1; i--) {
                sleep(1000);
                System.out.println(name + ":" + i);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}