タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

Programmingとclojureとthreadに関するpochi-mkのブックマーク (1)

  • Clojureの並列処理関連の関数 - CLOVER🍀

    Clojureで並列・並行処理といえばSTMやエージェントが有名だと思いますが、お手軽な関数も用意されているみたいなので、調べてみました。 pmap map関数の並列版です。与えたシーケンスに対して、関数を並列に適用してくれます。 (time (println (let [sleep-and-double (fn [v] (Thread/sleep 3000) (* 2 v))] (pmap sleep-and-double (range 1 6))))) ;; => (2 4 6 8 10) "Elapsed time: 3058.024539 msecs" (shutdown-agents) 少し前にこの関数を使ったエントリを書きましたが、どうもシーケンスの数だけスレッドが起動するっぽいので、その点は注意が必要そうです。 あと、裏でエージェントを使っているようなので、shutdown-

    Clojureの並列処理関連の関数 - CLOVER🍀
    pochi-mk
    pochi-mk 2012/10/25
    興味深い。そのうちmany core な環境が当たり前になったときに有効になってくるんだろうなぁ。
  • 1