私は、外部マイクロコントローラデバイスがシリアルポート経由でコンピュータに接続されているJavaプロジェクトを開発中です。私は、Javaアプリケーションで待機ダイアログを持って、マイクロコントローラデバイス上で実行するコマンドを待っています。マイクロコントローラが10秒以内に応答しない場合、アプリケーションはシャットダウンします。whileループは実行されません
問題は、コマンドが速すぎるため、待機ダイアログがアクティブになる前にマイクロコントローラが応答することです。これにより、アプリケーションは10秒後にシャットダウンします。ここで
は私が見えるようにダイアログを待つ考え最初のアイデアです:
new Thread() {
public void run() {
while (!Main.mainFrame.waitDialog.isVisible()) {}
Main.usbManager.start();
}
}.start();
しかし、アプリケーションは、whileループで立ち往生し、待機ダイアログが表示されますが、私はいくつかのランダムな文を追加した場合されますwhileループには、例えばSystem.out.flush();
のように動作し、ダイアログが見えるときにプログラムはwhileループから抜ける。
どのようにダイアログが表示されるのを待つことができますか?
おかげ
ありがとう! 'Thread.yield()'がトリックをしました! – Cako