[解決済み] Java スレッドが終了するのを待つ
質問
データをダウンロードしているスレッドがありますが、データをロードする前にダウンロードが終了するまで待ちたいと思います。 これを行う標準的な方法はありますか。
もっと詳しく
URLからデータを取得するDownloadクラスがあります(Serialized POJOs)。 DownloadはRunnableおよびObservableです。 ダウンロードされたバイトとダウンロードサイズを記録します。 ユーザーに進行状況を表示するプログレスバーがあります。 GUIはDownloadを監視し、プログレスバーを更新します。
POJOがダウンロードされると、私はそれを取得して次のステップに移動したい。 各ステップは、前のステップが終了するのを待つ必要があります。 問題は、ダウンロード スレッドを待機するためにアプリケーションを一時停止する方法を思いつかないことです。 ダウンロードが終了したら、私は
download.getObject()
を呼び出し、データをオブジェクトとして返します。 私はそれをキャストして、次のダウンロードに取り掛かることができます。
ダウンロード用のURLを管理し、Downloadへのすべての呼び出しを行うヘルパークラスがあります。 この呼び出しは getObject を呼び出して、キャスティングを実行します。 Gui は
helper.getUser()
ヘルパーはスレッドの実行を開始し、私はそれが終了したとき、それがキャストされたオブジェクトを返すことができるように、それが「知っている」ようにしたいと思います。
何か提案や例はありますか?私はこの設計の初期段階にいるので、私はそれを変更することをいとわない。
更新しました。
私は http://download.oracle.com/javase/6/docs/api/javax/swing/SwingWorker.html#get に従い、スレッドが終了するまでブロックするためにモーダルを使用しました。 コードは非常に乱雑で、私はこの方法が好きではありません。 ダウンロード プロセスのワークフローを処理するための「クリーンな」方法を見つけるために、今後も努力を続けます。
どのように解決するのですか?
Thread
には、それを行うメソッドがあります。
参加する
で、スレッドが実行を終えるまでブロックします。
関連
-
実行中にEclipseがポップアップする A Java Exception has occurred
-
java send https request prompt java.security.cert.について。
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] JavaでArrayListではなくLinkedListを使用するのはいつですか?
-
[解決済み] Javaにおける "implements Runnable "と "extends Thread "の違いについて
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
mvn' は、内部または外部のコマンド、操作可能なプログラムまたはバッチファイルとして認識されません。
-
アクセス制限です。タイプ 'JPEGCodec' は API ではない ☞My Blog Github ☜ ホームページを見る
-
Solve モジュールのビルドに失敗しました。Error: ENOENT: no such file or directory エラー
-
StringBuilderが投げるArrayIndexOutOfBoundsExceptionの探索
-
名前 'XXX' を持つ Bean の作成に失敗しました。自動依存関係の注入に失敗しました 解決方法
-
SocketException java.netの4つの例外解決策。
-
SpringBoot 起動エラー java.nio.charset.MalformedInputException: 入力長 = 2 解決
-
JDK8 の Optional.of と Optional.ofNullable メソッドの違いと使い方を説明する。
-
git pull appears現在のブランチに対するトラッキング情報がありません。
-
春ブート複数のデータソースの管理(atomikos)同じサーバーホスト上の複数のプロジェクトを開始する複数のJava - jarのエラーソリューション