タグ

スレッドに関するshigeaki1jpのブックマーク (4)

  • Javaのスレッドで発生したキャッチされてない例外をログに出力する - 水まんじゅう2

    概要 Thread#setDefaultUncaughtExceptionHandler(Thread.UncaughtExceptionHandler) を呼び出すことでアプリケーション全体のログ設定を変更することができる。 上の設定をThreadGroupで上書きすることができる。ただし、ThreadGroup自体がUncaughtExceptionHandlerを継承しているため、ThreadGroupのサブクラスを自前で作成する必要がある。 上の設定をThread#setUncaughtExceptionHandler(Thread.UncaughtExceptionHandler)を呼び出すことで上書きすることができる。 説明 Javaのスレッドの実行では、通常、エラーハンドリングは自前で行うのですが、キャッチされないRuntimeExceptionの処理を忘れてしまったりするこ

    Javaのスレッドで発生したキャッチされてない例外をログに出力する - 水まんじゅう2
  • スレッドの優先度について調べた - Qiita

    Android にも(Java ですから)スレッドの優先度ってありますけど、それちゃんと動きますよね?というのを ExecurorService を使って調べた。 ThreadFactory の拡張 ExecutorService が作るスレッドは、何もしないと 優先度:中 になる模様。 これを変更するには、生成時(newSingleThreadExecutor) に渡す ThreadFactory を自前で実装して、Thread.setPriority してやる。 ThreadFactory を Implements したクラス作ってもいいけど、そこまでやる必要も無いでしょ。 // 指定した Priority の ThreadFactory を生成して返す private ThreadFactory makeThreadFactory(final int priority) { retu

    スレッドの優先度について調べた - Qiita
  • 幸せな非同期処理ライフを満喫するための基礎から応用まで - Qiita

    クライアントアプリにとって、マルチスレッドプログラミングは避けては通れない重要な概念です。しかし、気をつけないとハマるポイントも多く、初めてクライアントアプリを学ぶ人たちからすると、複雑で難解な取っつきづらいものでもあります。ここでは、スレッドの基から、効率的な使い方、また複雑化しやすいポイントをシンプルに実装するためのノウハウを見ていきます。 TL;DR スレッドの取り扱い方を知る Threadをそのまま使わず、AsyncTaskやIntentService、時にThreadPoolExecutorを使ってスレッドの使い方を効率化する。 複雑な処理フローをシンプルに扱うためのフレームワークを導入する PromiseやRxAndroidなどで、複雑化しやすいポイントを整理する。 スレッドの基 スレッドといえば、ThreadクラスやRunnableクラスがベースにあります。以下のようにす

    幸せな非同期処理ライフを満喫するための基礎から応用まで - Qiita
  • RubyのThread、Fiber、Kernel、forkで並列処理やプロセスの深淵へ

    連載目次 前回の「RubyのFile/IOクラスで入力と出力、ファイルの読み取りと書き込み、フィルター作成」では、データの入出力について解説しました。連載第11回に当たる今回は、スレッド、ファイバー、プロセスといったトピックについて解説します。 ThreadクラスやFiberクラスを使うことで、Rubyでも並列処理を記述することが可能です。また、前回紹介したIOクラスを使うことで、Rubyプログラムからプロセスを生成して入出力を行えます。 さまざまなプログラミング言語では並列処理のための仕組みが使えるようになっています。もちろんRubyも例外ではなく、ThreadクラスやFiberクラスを使って並列プログラムを書くことができます。 また、RubyからOS固有のコマンドを別のプロセスとして実行したり、自分自身をfork(フォーク)して別プロセスとしてRubyプログラムを実行したりすることがで

    RubyのThread、Fiber、Kernel、forkで並列処理やプロセスの深淵へ
  • 1