この質問が少し曖昧であると申し訳ありませんが、デバッグから有用な情報を得ることができませんでした。
new Thread()。Startを使用して呼び出すスレッドがあります。その後、短時間実行され、次のメッセージが表示されます。
キャッチされない例外:アプリケーション「myappname(201)」が応答していません。プロセスが終了しました
イライラするのは、同じプロセスをスレッドなしで実行できることです。これにより、アプリケーションがロックされますが、Eclipseコンソールからエラーなしで動作していることがわかります。だから私はそれらが私がスレッドで使用している関数のエラーではないことを知っています。
「InvokeLater」関数を使用してGUIをスレッドの進行状況で更新することに問題があるのではないかと思いました。これをかなり激しくスパムしており、スレッドが破壊されるのではないかと心配しています。
助言がありますか?
私の投稿を拡張するために、問題は私が他のスレッドからこのコードをALOTと呼んだことが原因でした:-
invokeLater(new Runnable()
{
public void run()
{
_output.setText(_output.getText() + "\n" + msg);
}
});
これは、私のアプリケーションをすぐにクラッシュさせるキューを構築していました。
このオプションに対する私の解決策は、このコードを関数に追加してイベントスレッドを使用することでした:-
synchronized(Application.getEventLock()) {
_output.setText("new text " + System.currentTimeMillis());
}