タグ

あとで読むとスレッドに関するsh2nm0k2のブックマーク (3)

  • Androidのバックグラウンドを使いこなす Thread, Looper, Handler

    Android UIは基的にシングルスレッドで動作します。そのため、この影響を考慮して開発しなければアプリケーションの性能が低下することがあります。したがって、メインスレッドで時間のかかる処理をするのを避けるために、他のスレッドを使用しなければなりません。他のスレッドからUIスレッドにアクセスするためのAndroidが提供するスレッド間通信の方法を紹介します。 イントロダクション Androidのアプリケーションを実行すると、システムはメインアクティビティをメモリに読み込んでプロセスを作ります。この時メインスレッドが自動的に生成されます。メインスレッドはAndroidの主要コンポーネントを実行するところであり、UIを描いたり更新する仕事を担当できる唯一のスレッドであるためUIスレッドとも呼ばれます。 Androidの画面を構成するビューやビューグループに対する操作を一つのスレッドのみが担

    Androidのバックグラウンドを使いこなす Thread, Looper, Handler
  • Swift 3 世代の排他制御 - Qiita

    前回こんな記事を書きました。 Swift 世代の排他制御 http://qiita.com/codelynx/items/0ecd28c8a7da0a0e42b5 この記事では、以下のような排他制御の書き方を紹介しました。NSLock を使えば、複数のスレッドからクリティカルなデータの同時更新を防げるという話でした。具体的には、NSLock を lock() してから unlock() するまでは、他のスレッドは待たされるので、atomicity が保証できるという話です。しかも、defer 文を使えば、スコープを抜けた時に、確実に実行されるので、途中でいくつもの return 文があるようなパターンでも、実行し忘れがなく、安全という事です。 class MyObject { let lock = NSLock() func update1() { self.lock.lock() def

    Swift 3 世代の排他制御 - Qiita
  • 1. スレッド

    1.1. スレッドとは スレッドとは、プログラムを実行している主体(例えて言うなら1人の人間)です。すべてのプログラムはスレッドによって実行されています。1つのスレッドは、ひとりの人間がプログラムを1行ずつ読んでプログラムの流れを追いかけるように、命令を1つずつ解釈し処理を実行していきます。 スレッド(Thread)とはもともと「糸」という意味ですが、プログラムの実行は、糸をたぐるように順番に命令が実行されていくため、そのような名前がついています。1つのスレッドはあくまでも1の糸であり、2つの処理を同時に行うことはありません。 Javaのプログラムを起動するには、次のように、javaコマンドにおいて実行したいクラスの名前を指定していました。 > java SomeClass javaコマンドが実行されると、Java仮想マシンは新しいスレッドを作成し、そのスレッドによって指定したクラスのm

  • 1