みけです。
スレッド周り
Fx-Js-JUnitの話で少しだけ触れましたが、
JavaFXアプリケーションはスレッド周りが大変です。
単品のJavaFXアプリケーションを作る分には、
それほど問題はありませんが、
JUnitと合体させたものを作ろうとすると、
スレッドに関する知識がないと
マジで難しくなります。
死ねます。
死なないで下さい。
プログラムが処理されていく順番をしっかり覚える
というわけで、マルチスレッドなプログラムの処理順を
しっかり抑えておくことが大切です。
というわけで、アプリケーションの起動から終了に至るまでの
順番をログに出力するサンプルコードを書いてみました。
これは単純にアプリケーションを起動して、
終了するだけのコードです。
クイズ
さて、ここで問題です。
Application.launch(App)
の後にあるアプリ起動した
というログが出力されるのは何番目でしょうか?宣伝
7月2日に@skrbさん主催の
『第 7 回 JavaFX 勉強会 ツール特集』にてLTやります。
ユーストもあります。
ぜひお楽しみに!
答え
実行した結果を以下に示します。
アプリ起動した
は、アプリ終わっちゃうの?
の後に着ていますね。要するに
Application.launch(App)
の後はスレッドは残ったまま、アプリケーションの終了を待機してしまいます。
したがって、「アプリを起動して、それから何かの操作をアプリに対して実行して」
というシナリオでテストを書く場合には、
必ず別スレッドでアプリケーションを起動する
ようにしましょう。
0 件のコメント:
コメントを投稿