タグ

javaとconcurrentに関するKanasansoftのブックマーク (4)

  • 「Java SE 6完全攻略」第49回 Concurrency Utilitiesの変更点 その1

    最近のCPUはデュアルコアは当たり前、デスクトップPCでさえクアッドコアを使用できる時代になりました。 このような時代の流れを先行するかのごとく、Javaでは当初よりスレッドを使った並行プログラミングが可能でした。とはいうものの、Threadクラスを使いこなすのはなかなか難しいというのも事実です。 そこで、J2SE 5.0では並行プログラミング用のAPIとして、Concurrency Utilitiesが導入されました。Concurrency Utilitiesには大別して次のような機能を持っています。 タスクの非同期実行機構 並行コレクション ロック、シンクロナイザ アトミック処理 Java SE 6ではConcurrency Utilitiesも強化されています。4つの機能のそれぞれが強化されているのですが、変更点はそれほど大きくありません。そこで、連載ではタスクの非同期実行機能の変

    「Java SE 6完全攻略」第49回 Concurrency Utilitiesの変更点 その1
  • 7. java.util.concurrentパッケージ (2)

    concurrentパッケージに存在する多くの実装インスタンスは、ExecutorServiceインタフェースを実装しています。 7.3. スレッドプール スレッドプールとはタスクをキューに追加し、プールしておいたスレッドにより、順次タスクを処理していくマルチスレッドの形式の一つです。 必要以上にスレッドを作成しないために、リソースの無駄な消費を抑えるメリットがあります。 Executorsクラスの中で、スレッドプールを可能にしているクラスを返すメソッドについて解説します。 newSingleThreadExecutor() 単一のスレッドで送信されたタスクを実行するExecutorを作成します。 Executorが終了した後もタスクが残っていれば処理を続行します。 import java.util.concurrent.ExecutorService; import java.util.

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

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

  • Efficient data transfer through zero copy

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    Efficient data transfer through zero copy
  • 1