タグ

threadに関するnamutakaのブックマーク (2)

  • [java]ロックしないと怒ります。

    Javaです。 いまだによく理解できないものに同期処理があります。 まずは、synchronized処理から。 単純にふたつのスレッドから、StringBuilderに連続して文字を書き込みたいということを想定してみます。 ひとつが完全に処理を終わらないと、片一方は処理してはいけないという仕様です。 synchronizedブロックを使って実現してみます。 もちろん、両方でsynchronizedブロックを使わないとてんでばらばらな書き込みになってしまいます。 package th; public class TestA { public static void main(String[] args) throws InterruptedException { final StringBuilder builder = new StringBuilder(); Thread thread

  • throw Life - AndroidのHandlerとは何か?

    AndroidでWeb APIを使う場合、マルチスレッドによるユーザビリティ向上を以前のエントリで説明しました。 AndroidアプリのUIはシングル・スレッド モデルです。 単純にマルチスレッドにしてUIの操作をしてしまうと、CalledFromWrongThreadExceptionでアプリがダウンしてしまいます。 これを回避する仕組みがHandlerです。 Handlerの仕組みを簡単に説明しようと思ったのですが、 またもや長くなってしまったので、先にまとめます。 AndroidUI操作はシングル・スレッド モデル ユーザビリティ向上の為にはマルチスレッドが必要 Handlerで実現 Handlerを使わない場合に起きる例外は実行スレッドのチェックで発生 Handlerを使うと、UI Threadの持つキューにジョブを登録できる キューはUI Threadにより実行される

  • 1