next up previous
Next: 17.2 スレッドの例 2 Up: 17 デーモンスレッド Previous: 17 デーモンスレッド

17.1 スレッドの例 1

複数のスレッドを生成して,それらを並行して同時に実行させる例.
/* basic/MyThread.java */
package basic;

public class MyThread0 {
    public static void main (String[] args) {
        MyThread1 myTh1 = new MyThread1();
        myTh1.start();
        Thread myTh2 = new Thread(new MyThread2());
        myTh2.start();

        final long ms = 500;
        while (true) {
            System.out.println("MyThread 0");
            try {
                Thread.sleep(ms);
            } catch (InterruptedException e) {}
        }
    }
}
/* basic/MyThread1.java */
package basic;

class MyThread1 extends Thread {
    final long ms = 1000;

    public void run() {
        while (true) {
            System.out.println("MyThread . 1");
            try {
                sleep(ms);
            } catch (InterruptedException e) {}
        }
    }
}
/* basic/MyThread2.java */
package basic;

class MyThread2 implements Runnable {
    long ms = 2000;

    public void run() {
        while (true) {
            System.out.println("MyThread . . 2");
            try {
                Thread.sleep(ms);
            } catch (InterruptedException e) {}
        }
    }
}
コンパイルと実行は次のようになる.
% javac basic/MyThread0.java
% java basic.MyThread0
MyThread 0
MyThread . 1
MyThread . . 2
MyThread 0
MyThread 0
MyThread . 1
MyThread 0
MyThread 0
MyThread . . 2
MyThread . 1
MyThread 0
MyThread 0
MyThread . 1
MyThread 0
MyThread . . 2
MyThread . 1
MyThread 0
MyThread 0
MyThread . 1
MyThread 0
MyThread 0
MyThread . . 2
MyThread . 1
MyThread 0
MyThread 0
MyThread . 1
MyThread 0
MyThread 0


generated through LaTeX2HTML. M.Inaba 平成18年5月7日