(Android)スレッドの終了待機

基本的にAPIなど、ネットワークを経由してデータを取得する際には必ず別スレッドで処理を実行する必要があります。
でも単純にスレッドを実行するだけだと、実行したスレッドの完了前に値の代入処理が動いてしまって中身がnullになっちゃったりします。
それを簡単に回避できるのがThreadクラスに定義されているjoinメソッド。
これはマルチスレッドを呼び出すクラスの、いわゆるメインスレッドの処理を対象のスレッドが完了するまで停止するメソッドです。

使用例を以下に記載しておきます。

// スレッドの宣言
public Thread thread = null;
//スレッドの処理内容を定義
thread = new Thread(new Runnable() {
@Override
public void run() {
try {
//実行したい処理
} catch(Exception e) {
}
}
});
// スレッドの開始
thread.start();
// スレッドの終了待機
try {
thread.join();
} catch (InterruptedException e) {
e.printStackTrace();
}

近いうちに、スレッドの終了待機中にローディング表示を作ろうと思ってます。
以上、スレッドの終了待機処理でした。

この記事へのコメント