«前の日記(2017-06-04) 最新 次の日記(2017-06-06)» 編集

ɥozɐʞıɥ


2017-06-05 ゲリラ豪雨 [長年日記]

_ ゲリラ豪雨

帰りにやられた~

_ [Clojure] thread

threadを呼び出すと戻り値がchannelになってくれる。そのあたりがfutureとは違うようだ。

loopをforで最初作ってなぜかbig jobに入らず悩む。forだとlazy sequenceを生ずるのだよね。

(ns asyncthread.core

(:require [clojure.core.async

:as a

:refer [thread <!!]])

(:gen-class))

(defn threading[]

(loop[i 0]

(Thread/sleep 100)

(println "threading")

(if (< i 10)

(recur (inc i))

"Terminate")))

(defn -main[& args]

(let [c (thread (threading))]

(loop [i 0]

(do

(println "main" i)

(Thread/sleep 20))

(when (< i 10)

(recur (inc i))))

(println (<!! c))))

明日からはClojure - Transducersだな。



2002|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|
«前の日記(2017-06-04) 最新 次の日記(2017-06-06)» 編集