【初心者】Java質問・相談スレ16【大歓迎】
■ このスレッドは過去ログ倉庫に格納されています
0020イヌ
NGNG………
class hoge extends Thread {
int x;
public hoge(int x){
if(x < 10){
this.x = x;
//this.start(); //←ここでstartしていたが、
}
}
public void run(){
処理………
HG = null; //ここが実行されない!?
}
}
………
if(HG == null){
HG = new hoge(n);
HG.start(); //問題があるので、こちらでstart()するようにした。
}
--------------------------------------------------------
最初は、hoge()内で、this.start()でスレッド開始していたのですが、
HG == null とならずに、二度とrun()が実行されなくなってしまいました。
HG = nullが飛ばされてしまっているかのようです。
hoge()内でスタートさせるのをやめたら、問題はなくなりました。
そこで質問なのですが、class hoge extends Thread {}
のようなクラスのコンストラクタでは、スレッドを開始してはいけないのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています