マルチスレッド アプリケーションに問題があり、ボタン ストップ スレッドにバインドされています
thread = NULL;
その後、別のスレッドを開始します(同じ変数を使用)
thread = new Thread(this, "game");
thread.start();
新しいスレッドの後、スレッドはまだ null であり、なぜ助けてくれるのかわかりません。
マルチスレッド アプリケーションに問題があり、ボタン ストップ スレッドにバインドされています
thread = NULL;
その後、別のスレッドを開始します(同じ変数を使用)
thread = new Thread(this, "game");
thread.start();
新しいスレッドの後、スレッドはまだ null であり、なぜ助けてくれるのかわかりません。
これ以上の情報がなければ、以下は単なる憶測です。今後、詳細を示して、問題をデバッグするために行ったことを説明してください。
新しいスレッドの後、スレッドはまだ null であり、なぜ助けてくれるのかわかりません。
コンストラクターが a を返すことはできないため、null
何か他のことが起こっています。
Thread thread = null;
thread = new Thread(this, "game");
// thread is guaranteed to be non-null here
2 つのスレッド間でスレッド フィールドを共有している可能性がありますか? たとえば、メイン スレッドがバックグラウンド スレッドを開始し、UI スレッドがそれを読み取ろうとしている可能性がありますか? その場合、volatile
スレッド間で共有されるようにスレッドを作成する必要があります。
volatile Thread thread = null;
すでに揮発性である場合は、thread
フィールドの別のインスタンスを扱っています。多分thread
フィールドはとしてマークされるべきstatic
ですか?