Thread のサブクラス
Thread クラスを継承して run()
メソッドを実装する。
public class Qiita {
public static void main(String[] args) {
new HelloThread("World!").start();
new HelloThread("Qiita!").start();
}
}
class HelloThread extends Thread {
private String message;
public HelloThread(String message) {
this.message = message;
}
public void run() {
System.out.print("Hello, " + message);
}
}
Runnable インターフェース
Runnable インターフェースを実装したクラスを、Thread のコンストラクタに渡す。
public class Qiita {
public static void main(String[] args) {
new Thread(new Greeting("World!")).start();
new Thread(new Greeting("Qiita!")).start();
}
}
class Greeting implements Runnable {
private String message;
public Greeting(String message) {
this.message = message;
}
public void run() {
System.out.print("Hello, " + message);
}
}
(+@) ThreadFactory でスレッドを生成する
ThreadFactory でスレッドの生成を抽象化する。
public class Qiita {
public static void main(String[] args) {
ThreadFactory factory = Executors.defaultThreadFactory();
factory.newThread(new Greeting("Qiita!")).start();
}
}