タグ

2013年5月20日のブックマーク (6件)

  • 虎の穴 J2SE 5.0 入門 Concurrency Utilities No.1

    マルチスレッドのアプリケーションはいろいろ時をつけなくてはいけないことがあります。同期や同時アクセスやプライオリティ、デッドロックなどなど。 Java では安易にスレッドを作ることができるのでいつのまにかスレッドをたくさん使っていたなんてことも起こりがちですが、そのつけは大きいです。 そんなマルチスレッドのアプリケーションを作る際に福音書となっているのが Java スレッドプログラミング です。残念ながら今は品切れで入手が困難なので、もし屋に残ってたらすぐにでも購入したほうがいいです。 マルチスレッドと同様このも内容が難しくて、なかなか理解するのが大変なんですが、マスターできたら鬼に金棒状態です。そして、このの作者が Concurrency Utilities の原型を作った Doug Lea なのです。 Concurrency Utilities では次のような機能を提供しています

  • 死刑執行中 ExecutorService 実行中 - 倭マン's BLOG

    最近『Java並行処理プログラミング ―その「基盤」と「最新API」を究める―』で Java の並行処理プログラミングを勉強中なんですが、ExecutorService の使い方あたりで完全に消化不良に陥ってしまったので、知識の整理を敢行。 今回は ExecutorService を使ってタスクを実行する方法を見ていきます。 『Java並行処理プログラミング ―その「基盤」と「最新API」を究める―』の第II部を参考にしてます。 ちなみに、この記事(と以降の関連記事)では、「タスク」とは java.lang.Runnable オブジェクト java.util.concurrent.Callable オブジェクト のどちらかを指して使っています。 たまに java.util.concurrent.Future オブジェクトを、対応するタスクと同一視して指している場合もあります。 記事内容 E

    死刑執行中 ExecutorService 実行中 - 倭マン's BLOG
  • java.util.concurrentパッケージを用いたマルチスレッドプログラミングについて

    はじめに Java SE 6時点では、マルチスレッドプログラミングを行う素材として、当初から持つThreadクラスと、Java 5で追加されたjava.util.concurrentパッケージがあります。また、Swing GUI上でスレッドを扱うjavax.swing.SwingWorkerクラスもJava SE 6から追加されています。 Java SE 6におけるスレッドの生成方法 java.lang.Threadクラスのインスタンスをnewで生成し、start()メソッドを呼ぶ java.util.concurrent.Executorインタフェースを実装するクラスのインスタンスを取得し、execute()などの別スレッドで実行を依頼するメソッドを呼ぶ javax.swing.SwingWorkerクラスのサブクラスを定義し、そのインスタンスをnewで生成し、Swingスレッド(Eve

  • Java Thread Pool Example using Executors and ThreadPoolExecutor

  • [Java]ExecutorServiceの正しい終了(shutdown)の仕方 | 大発見 | 大発見

    photo credit: Juan Antonio Capó ExecutorServiceを使うと簡単にマルチスレッド処理が行えますが、 終了もshutdownメソッドを呼ぶだけと思っていませんか? shutdownメソッドだけだと不十分です。 学校の先生と生徒の関係で説明します。 shutdownメソッドは指示するだけ 学校で先生が生徒に対して、「問題が解けたら教えてねー」と言います。 生徒は問題が解けた人から「先生できたー!!」と言ってきます。 全員問題が解けた段階で授業が終わるとしましょう。 対応はこう。 先生: ExecutorService 生徒: ExecutorService内のスレッド 問題: ExecutorService.executeに渡すタスク(Runnable) 授業: mainスレッド 学校: Javaプロセス 「問題が解けたら教えてねー」

  • Javaマルチスレッディングその1(Executorとタスクキュー) - らこらこブログ

    Androidアプリ開発を想定した上で一般に使えるJavaのマルチスレッディングについてのメモ書きです。 全部を解説するにはページが足りないので、タスクキューの実装を例に触れていきます。 (Java SE 6以上) Executor まずはExecutorについての説明を。Java SE 6でスレッドを生成する方法は ・new Thread … Threadインスタンスの直接的な生成 ・Executorインタフェースを実装したクラスのインスタンスを生成し、別スレッドでの処理を依頼する(executeメソッド等) ・SwingWorkerを用いる Swingに関しては今回はAndroid環境を想定しているので除外します。 Threadインスタンスを直接生成するのは古くから用いられてきた方法ですが、単純故に自由度が大きい反面周期実行や遅延実行、スレッドプールなどの実装を全て自分で行わないといけ

    Javaマルチスレッディングその1(Executorとタスクキュー) - らこらこブログ