次のコードがあります。
public void post(String message) {
final String mess = message;
(new Thread() {
public void run() {
while (true) {
try {
if (status.equals("serviceResolved")) {
output.println(mess);
Game.log.fine("The following message was successfully sent: " + mess);
break;
} else {
try {Thread.sleep(1000);} catch (InterruptedException ie) {}
}
} catch (NullPointerException e) {
try {Thread.sleep(1000);} catch (InterruptedException ie) {}
}
}
}
}).start();
}
私のログファイルには、次のような行がたくさんあります。
The following message was successfully sent: blablabla
The following message was successfully sent: blablabla
The following message was successfully sent: blablabla
The following message was successfully sent: blablabla
そして、私のプログラムは応答しません。
break
コマンドが機能しないようです。その理由として何が考えられるでしょうか。
興味深いことは、それが常に起こるわけではないということです。私のプログラムが正常に動作することもあれば、上記の問題が発生することもあります。