2009-05-14 54 views
2

最近、私は食事の哲学者の問題に関してthis Wikipedia articleを読んでいますが、私はChandy/Misraソリューションではっきりしません。食事哲学者の問題 - 明確化が必要

「フォークを持った哲学者がリクエストメッセージを受け取ると、フォークを清潔に保ちますが、汚れたときにフォークを持ちます」この質問の文脈では、彼が食事をしていればそれを渡し、まだ食事を開始していなければそれを保持します。

シナリオによれば、ダーティーの意味は何ですか?スレッドが実行されているか、またはそれは去っていますか?

+0

私はそれが実行を終了したことを意味すると思います。または哲学者が自分の食べ物を食べ終わったので、フォークは汚れています。 – shahkalpesh

答えて

2

ダーティとは、処理が開始されたため中断される可能性があることを意味します。

2つのフォークがある場合のみ処理できます。

+0

ダーティとは、「処理がまだ開始されていない(またはすでに終了している)ので、他の人を中断することなくすぐに利用できる」ということも意味します。 – ChrisW

+0

これは、フォークのすべてがDirtyを開始し終了する理由です。彼らがきれいになったら、誰もそれを使用しません。 – GordyII

+0

フォークが清潔である唯一の時間は、ある哲学者から別の哲学者に渡されている瞬間です。重要なのは、それが清潔であるかどうか(事実上決して清潔でないため)ではなく、あなたがそれを受け取ったときに清潔であったかどうかです。すなわち、それがアイドルであるか利用可能であったか、あなたがそれを要求してそれを受け取らなければならなかった(きれいになった)。 – ChrisW

0

ダーティーは「アイドル」または「利用可能」を意味し、クリーンは「それを要求しなければならない」または「それを先取りした」ことを意味します。

フォークは、ピックアップすると「汚れている」(フォークは必要なときにはフォークが競合していない)と要求し、初期状態が汚いと「クリーン」と表示されます。

  • 可能なフォークをピックアップ=>フォーク>はそれをきれいにして求められたときにそれをあきらめる=汚いです。

  • 利用可能なフォークはありません=>それを要求する=>それはきれいになります。

これは、Don't Interrupt an Interruptと呼ばれる組織パターンを思い出させます。

関連する問題