Next: 17.2 スレッドの例 2
Up: 17 デーモンスレッド
Previous: 17 デーモンスレッド
複数のスレッドを生成して,それらを並行して同時に実行させる例.
/* 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日