コンストラクターでスレッドを開始してはいけないと言われていますが、この場合this
、参照がコンストラクターをどのようにエスケープするかはわかりません。Test
基礎となるThread.javaを調べましたが、これを理解できません。
class Test {
static MyThread thread;
public Test() {
thread = new MyThread();
thread.start();
}
}
class MyThread extends Thread {
public void run() {
//do stuff
}
}
助けてくれてありがとう。
thread = new MyThread();
Thread
スーパーコンストラクターを呼び出します:
public Thread() {
init(null, null, "Thread-" + nextThreadNum(), 0);
}
参照が逃げるのが見えません。