デッドロックの例 | 海谷ホームページ | ダウンロード | スレッド | 学科 |
N個の木槌とノミをN*2人の大工が共有して作業をする. 基本的には哲学者の問題と同じだが,ちょいとはリアリティがある.
実行開始
デットロック
問題点
src/Carpenter.java のrun()メソッドを見ればわかるが, ハンマーがとれなきゃ,ノミをとって, 再度,ハンマーがとれるのを待つというロジックになっているため, それぞれが,ハンマーもしくはノミ1本をとった状態で膠着してしまう.解決法
たとえば,まずノミがとれるまで,ハンマーはとらずに待つなどの 戦略にすれば,デッドロックは起こらない.
本ページトップ | 学科 | スレッド | 海谷ホームページ | $Id: index.html,v 1.1 2003-05-07 19:44:09+09 kaiya Exp kaiya $ |