Dying philosophers (使えるconcurrency)

数名の哲学者が丸いテーブルを囲んでいます。テーブルの上にはそれぞれナイフがあります、そのナイフは哲学者の数だけあり、それぞれの哲学者の右と左に置かれています。哲学者は考えたり、此の世に見切りを付けて自殺したりします。自殺するにはナイフが二つ必要です。もし全ての哲学者が右手側のナイフに手をかけたら、次に左手側のナイフを取ろうとしたとき、それぞれのナイフは左に座る哲学者がもう取ってしまった後なのでナイフが取れず死ぬことが出来ません。しかし、一人でも左側からナイフを取った時は全員が死ぬことが出来ます。


少し考えれば分かるとおり、ナイフは資源、ナイフが取れない状態はデッドロックです。


デッドロックの説明としてがんがん使いましょう。