K.Sasada's Home Page

こめんとのついか

こめんとこめんと!

message

please set comment :).

_23(Fri)

もう全然駄目だ。ご迷惑をおかけして本当に済みません。


ちょっと本当に久々に文献を調べてたんだけど、ちゃんと actor model とは何かを調べたくて Concurrent programming using actors を読んでたんだけど、色々新しい発見というか receive って無いんだね、知らなかった。

で、2.2 Basci Constructs に

The mail system system buffers the communication until it can be delivered to the target. The buffering of communication until it can be delivered to the target. However, the order in which the communications are delivered is non deterministic. The buffering of communications has the consequence that actor languages support recursion. In languages relying on synchronous communication, any recursive procedure immediately leads to deadlock [Hewitt, et al 1984] [Agha 1985].

この意味がわからない...。何で consequence なの? mail system によって、async になったから、recursive 許すぜ、ってことかな? しかし、なんで sync + recursive でデッドロックするんだろ。Actor が無限ループすると(受け取らないと)、送り側が詰まるからデッドロックするぜ、ってことか。

_Unknown(Sat Sep 24 07:08:06 +0900 2016)

 become するまで次のメッセージを受け取らない => synchronous だと become 前の自分にメッセージが届いたとき受け取れないから死ぬ?

_masuhara(Sat Sep 24 09:04:49 +0900 2016)

 (文脈を知らずに推測で書きますが)1アクターは1スレッド、同期メッセージ送信は返事が来るまでブロックする、ブロック中のアクターはメッセージの受信もできない、従って自分自身へのメッセージ送信はデッドロックする、ということだと思います。

_ささだ(Sat Sep 24 09:52:24 +0900 2016)

 recursive procedure というのが、自分自身へのメッセージの送信という意味でしたか(単に関数の recursive call だと思っていた)。


好きにコメントを編集してください。ただし、あまり他の人のコメントを書き換えることは感心しません。



back

tton 記述が使えます。YukiWikiな記述してりゃ問題ありません。

「行頭に#code」 と、「行頭に#end」 で挟むと、その間の行は pre で囲まれます。プログラムのソースを書くときに使ってください。

例:

#code

(なんかプログラム書く)

#end

リンクは

[[なまえ|http://www.example.org]]

とか

[[http://www.example.org]]

で貼れます。

$Date: 2003/04/28 10:27:51 $