タグ

JAVAと並列プログラミングに関するt_43zのブックマーク (2)

  • java.util.concurrent.ScheduledExecutorService - 設計と実装の狭間で。

    何かそれなりに重い処理が色々あったとする。バッチ的なアレとか。 で、処理は大体がアトミックで、スレッドプールを使って、それぞれを処理する事で、処理効率を稼ぎたい時に使うAPIJavadocを見てても良く分からんくて、ハマったので、実装例をばメモ。 このコードの内容は、 処理は重くていつ終わるか分からない上に、処理中に更に新しいタスクを積んでしまうので、 全体として、当にいつ終わるか分からないので、 プロセスを起動した後、一定の時間が経過したら、それ以上タスクを積めない様にしつつ、 プロセスを綺麗に終了する。という感じ。 import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; pub

    java.util.concurrent.ScheduledExecutorService - 設計と実装の狭間で。
  • Java 7で登場するフォーク/ジョインを使って細粒度並列処理 | gihyo.jp

    Java 7にjava.util.concurrent.forkjoinパッケージとして導入予定のフォーク/ジョイン機構について解説した記事です。 Java 5より並行処理を容易に扱えるjava.util.concurrentパッケージが追加されましたが、Java 7にてより細かい粒度の並列処理を行えるフォーク/ジョインが簡単に扱えるようになります。フォーク/ジョインとは、大きな処理を複数のサブ処理に分割して並行的に処理し(フォーク)て各々の結果を合わせる(ジョイン)ことを表します。 記事では巨大な配列中から最大値を持つ要素を検索するという題材で、ForkJoinTasksをextendsしたRecursiveActionを利用して解説しています。フォーク/ジョインの実装はJava 6の環境にて取り込むことができるjsr166y.jarとして公開されていますので、実際に動かして試すことがで

    Java 7で登場するフォーク/ジョインを使って細粒度並列処理 | gihyo.jp
    t_43z
    t_43z 2008/02/27
    ErlangとかScalaのActorみたいなの?
  • 1