32nd Diary

トップ | 最新 | 過去の日記 | もっと過去の日記

2006年
1月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
めーるあどれす
ruby -rbase64 -e'puts Base64.decode64 %q(dGFrYW5vMzJAZ21haWwuY29t)'



2006-01-17 (Tuesday) [長年日記]

[Univ][Life][Hack] デッドロックを日常の光景で説明する

デッドロックを日常の光景で説明できる例を聞いた.

デッドロックは 「狭い道で対向から歩いてくる人と遭遇し, 横に避けると相手も同じ避け, こちらがまた別の方向に避けると相手もまた同じ方向に避け,... ということを繰り返す状況」と同じなんですね. まさにひとつの(嘘.コメント欄参照)資源(道)をふたつのプロセス(自分と相手)が取り合い, 先に処理が進めない様子が表現されている.

デッドロックの解決法もうまい具合に説明できそうだ. たとえば,クリティカルセクションを利用する, というのは相手の出方を見守ることに相当するだろう.

お互い動きが止まった場合には ランダムな時間だけ待って再試行するという あたりまであてはまるではないか.

[Moe][Book] 4063636216

買いました. うむ.これでネギまも13巻ですか. ラブひなも大作な気がしますが,あれでも14巻で 完結していたりするのよね. ネギまもそろそろ締めに入る時期?

感想はあとで追記します. 読んだ.なんか,かっこいいシーン集めてみました,みたいな 感じがしてイマイチかもしれません. あと,伏線の張り方が足りなくて, 必要なときにいきなりドバッと解説を見せられる点もマイナスかな... とはいえ,14巻も楽しみです.

関係ない話になりますが, anthyが「ネギま」を一発で変換できて恐い.(わら

[Music][Hardware] MX550の修理完了

修理に出したMX550という SENNHEISERのイヤホンが修理完了. っつーか,交換完了.

9月に買ってもう断線した,ということはこのペースで いくとあと3つくらい断線させそうな勢いか.

とりあえず,保証書を大事に保管しておこう.

[Image][WEB] 楽天ノート

なんとなく保管しておく.

本日のツッコミ(全7件) [ツッコミを入れる]
今泉 (2006-01-18 (Wednesday) 12:06)

取り合っている資源は2つでは? 道の右側と左側

otsune (2006-01-18 (Wednesday) 13:08)

人間だとすれ違えないぐらい狭いことはあり得ないし、しゃがんだ人の上をまたぐこともできるのでピンと来にくいかも。<br><br>「車で裏路地を抜けていたら、対向車と鉢合わせ」<br>「山登り中に丸太の橋を渡ったから、向こうから渡って来た人が居て真ん中でにらみ合い」<br>というのはどうでしょ。

takano32 (2006-01-18 (Wednesday) 17:16)

うげ.そうですね.確かにこの説明では資源がふたつありますね...<br>なるほど,otsuneさんの表現にあるように,資源がひとつの状況で説明するのが適切ですね.<br><br>やっぱり,よくありがちな「ひとつのフォークで食事を取り合う」という例の方がわかりやすいかも?<br>でも,このタイプの例の方が現実的に起こると思うので,よしとします.(ぉ

machy (2006-01-18 (Wednesday) 18:13)

デッドロックって、どちらかというと2つの資源があって、それぞれのプロセスが1つずつの確保を完了し、もう一つの資源が利用可能になるのを待っている状態じゃない?「ひとつのフォーク」じゃなくて「フォークとスプーン」じゃなかったっけ。デッドロックを解消するには資源を返却してから待たなければならないという要素がないとイマイチだと思う。

takano32 (2006-01-18 (Wednesday) 18:38)

フォークだけだと普通にひとりめが食事をしてから,ふたりめも食事ができてしまいますね...ダメだ.資源は食事じゃなくて,フォークとスプーンでした...<br>でも,フォークとスプーンの両方を確保しないとお食事を開始できない,というモデルにはちょっと無理がありますよね.(ボクならどちらかを確保した時点で食べれる部分を食べて,開放します.)<br><br>橋のモデルで考えると橋が「橋の入口」と「橋の出口」というふたつの資源からなっていると考えることもできるので,ベストかもしれませんね.何より,自然に起こりうる状況というのがいいです.

今泉 (2006-01-19 (Thursday) 03:08)

2つの資源が必要になるときに、2つのプロセスが片方ずつを取得してしまって動けなくなることデッドロックというのでは(実際には2つ以上ですけど)。「食事をする哲学者問題」は、5人の哲学者にフォークが5本で、食事をするのには左右両手にフォークを持たないと食事ができないという設定です。全員が左手にフォークを持ってしまったら、みんな右側のフォークがあくのを待ってデッドロックに陥ってしまう。

takano32 (2006-01-19 (Thursday) 10:01)

ありゃ,資源の数にとくに決まりはないと思ってました.資源がひとつのケース,たとえば,メッセージループの中で,メッセージループの終了を待ってしまうような単純なケースも「デッドロック」と呼んでました.(^^;<br><br>しかも,あの問題,名前が付いていたんですか,ぜんぜん知りませんでした.<br>日本にはあまりフォーク二本で食事する習慣がないと思うのですが,海外では一般的なんですかね...

本日のPingbacks(全0件)