This comment is reply for 4375 jijixi: JoCaml は OCaml に並行プロ...(分散関数呼び出し). Go to thread root.
jijixi #4389(2007/11/24 11:35 GMT) [ diff ] Rating0/0=0.00
1 2 3 4 5 6 7 8 9 10 11 12 13
--- client.ml.orig 2007-11-24 20:24:55.000000000 +0900 +++ client.ml 2007-11-24 20:31:51.000000000 +0900 @@ -9,8 +9,8 @@ let price_string : int * int -> string = Join.Ns.lookup namespace "price_string" in - for i = 0 to 10000 do - ignore (price_string (2000, 20)) + spawn for i = 0 to 10000 do + (ignore (price_string (2000, 20)); 0) done; print_endline (price_string (2000, 20)) | _ ->
Rating0/0=0.00-0+
[ reply ]
jijixi
#4389()
[
diff
]
Rating0/0=0.00
うっかりしてました。
この話はプロセスコンテキストでは正しいですが、投稿したコードの例では for は式コンテキストで使われているので、この場合は直列に動いているはずです。
この例で並行に動かすなら for の前に spawn を追加すれば良いと思います。(diff 参照)
その場合 for の内部はプロセスコンテキストになるので、price_string をプロセス扱いにするために空のプロセス 0 を付け足しています。
Rating0/0=0.00-0+