例によってタイトルは無意味の方向で
今日の夕食は12人の大所帯だったので6人ずつに分かれて某レストランと某ラーメン屋へ行ってきました, 因みに聖狐は後者
久しぶりのラーメン, 脂が美味
こじた氏に合わせて聖狐, ROPPY氏, nvaca氏が麺固めを注文, λ氏が油多目を注文するととし氏はそのOrを取って麺固め油多目を注文, 当然全員ご飯付きで
因みに道中で合流したTi先輩はAndを取ってご飯のみ
麺固めは結構美味しかったので今度からもこれを頼みそう
今回は普通に塩, 前回は記憶が確かなら醤油味今度は皆が食べている辛味噌を注文しようかな… でも辛いの苦手だから普通に味噌味が順当か…
久しぶりに某レストランは生協食堂に比べてコストパフォーマンスに疑問を感じてしまう満足できる外食になりました
で, 此処までは良かったのですが, 脂を取りすぎた所為か, この後軽い腹痛に見舞われてしまったのは秘密
昨日買ったFMSは結構いい曲で楽しんで聞くことが出来ています
『EMERGENCY PROTECTORS -Vocal Version-』最高!! なのです
明日から9月なのでテスト勉強モードをそろそろ発動せねば
こんなことを書いてもギリギリまでしか発動しないというのが恐いところなのですが…
そろそろといえばもうすぐ10000Hitいや, 誰が何と言おうとそうなのですが…ですね
果たして何方が取るのでしょうか… 取った暁にはご報告お願いします
…とか書こうと思ったけど日付が変わって9月になった直後ぐらい現時点で9996, この日記のUPには間に合わないのでしょう…
はぅ…
因みに9月1日からLYCOSのダイアリーが楽天に移管されるとか
しばらくの間は新アドレスのへのリンクが表示されるそうですが, http://user.ecc.u-tokyo.ac.jp/~s31022/及びその下当サイト内にあるリンクの修正は早くても2日以降となります
あとは管理人の気分と努力次第という方向で…
帰ってからはOSで理解できなかった6/4のレジュメ, pp. 9 - 11Critical Regionsの実装ともう一度睨めっこ
10分ほどで何を言おうとしているのかが分かった
ポイントはregion v when B do Sの構文の中の条件Bはこっちは無くてもいいコンテキストローカルな変数とこっちは確実にあること, グローバル(i.e. 外的要因で変わる)なものは全てv内に無ければならないリソースv内の変数以外の物を含まない, つまり一旦失敗してwaitしたら他のコンテキストがregion v when B do Sを通過してSを終えない限りそのコンテキストのBの内容は変化しないことが保証されているということだった
また, region v when B do Sを展開した実装の構文はvに依存してBとSを引数にするマクロのようなもので, プログラムの複数箇所で同じvについて別のB, 別のSについて同じこれもある意味リソースvの付属品セマフォと管理変数で文を組むというのもPointかな, つまりはBやSの中身によらずSの終了も単純にvが更新された可能性があるというイベントとしてしか見ていないvのみによってretestを行うということ
恐らくB内にタイマーや割り込みで変化する要員があるならばそれをv外で一旦トラップしてregion v when B do Sでv内の条件B用変数の更新をwrapしなければならない模様
なかなか曲者な気がする代物のようだ, 似たような機構を使うときにはこういうようなことに気をつけなければ…
因みに右下の失敗する実装はとある例を与えてみるとS2とS3が失敗してwaitしている時にS1が実行されて条件B2が整ったのに, 先にB3がテストされて失敗してB2がテストされずにmutexに待ちが移行して, 別のコンテキストからBの評価を一発で成功させるregion実行があってSが覚醒しない限り…ある種のデッドロック状態になってしまう問題がある