Javaスレッドのコンストラクタはどのように使用できますか?
スレッドオブジェクトを作成するために使用される複数のコンストラクタが、JavaのThreadクラスで提供されています。一般的なコンストラクタとその用途を以下に示します。
- Thread():引数なしコンストラクタ、直接新しいスレッドオブジェクトを作成できます。
たとえば:
Thread thread = new Thread();
- Thread(Runnable target)はRunnableオブジェクトを受け付け、スレッドの動作目標にします。
例えば
Runnable runnable = new MyRunnable();
Thread thread = new Thread(runnable);
MyRunnable は、Runnable インターフェイスを実装したクラスです。
- スレッド(ターゲット、名前) :Runnableオブジェクトの他にも、スレッドの名前を指定できます。
例えば、
Runnable runnable = new MyRunnable();
Thread thread = new Thread(runnable, "myThread");
そのうち「myThread」はスレッド名を表します。
- スレッド(String名):スレッドの名前にだけ指定します。
たとえば:
Thread thread = new Thread("myThread");
- ThreadGroup group、Runnable targetを受け付け、スレッドの実行目標として、指定したスレッドグループへスレッドを追加する。
たとえば、
ThreadGroup threadGroup = new ThreadGroup("myThreadGroup");
Runnable runnable = new MyRunnable();
Thread thread = new Thread(threadGroup, runnable);
- Thread(ThreadGroup group, Runnable target, String name) : ThreadGroup のグループ・オブジェクトと Runnable オブジェクトに加えて、スレッドの名前を指定することもできます。
例を挙げると
ThreadGroup threadGroup = new ThreadGroup("myThreadGroup");
Runnable runnable = new MyRunnable();
Thread thread = new Thread(threadGroup, runnable, "myThread");
多様なコンストラクタメソッドにより、スレッド名、スレッドグループなどの属性を指定して目的の型のスレッドオブジェクトを生成することができます。