トップページ⇒tech
33コメント8KB

デッドロック問題

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2007/10/02(火) 00:14:09
XとYという、2つのプロセスがある。

Xは、Aというモジュールを占有し、
Aに対して排他ロックをかけ、
Aの処理が終わってから
Bにアクセスしようとする。

この時同時に、
Yというプロセスが、
Bにアクセスし、Bに排他ロックをかけ、
Bの処理が終わってからAにアクセス
しようとする。

するとXはAを占有し、YはBを占有していて、
お互いに処理空くまで待っているが永遠に
ロックは解除されない。これがデッドロック問題である。
0002デフォルトの名無しさん2007/10/02(火) 00:15:35

               _      「^|      _____     ___ ___    ___
   r─- 、   l⌒l    \__>  lニニ  ニニl  /__  __/ [][] _| |_| |__ _| |_
   ⌒) )   |  |.   l二  | ┌‐┘└‐:┐     / /     |    _  | |_  レ'~ ̄|
    / /  ノ /      | | | lニl lニl |      |  |___      ̄|  | / / /   /| |
    / / / /        | | └, ┐┌、,┘      \__|     |  |  ̄ /_  /  | |_
   / /_ノ /      / L </ |__,| \>               |_|     |__|   \/
   (___/       </\二二二二二二ヽ
                                     ニュース速報
                                     http://news23.2ch.net/news/
0003デフォルトの名無しさん2007/10/02(火) 00:16:55
マルチスレッドプログラミング相談室 その6
http://pc11.2ch.net/test/read.cgi/tech/1187008532/
0004デフォルトの名無しさん2007/10/02(火) 03:21:18
人生デッドロック
0005デフォルトの名無しさん2007/10/02(火) 05:01:41
具体的な例
A: 君がッ 泣くまで 殴るのをやめないッ!
B: 君がッ 殴るのをやめるまで 泣かないッ!
→デッドロック
0006デフォルトの名無しさん2007/10/02(火) 06:25:11
なんか違うような気がするけどどう違うのか表現するのにこの欄は狭すぎる。
0007デフォルトの名無しさん2007/10/02(火) 06:42:06
アトミック分割命令の存在により「同時にロック」という仮定はもはや成り立たないので
このスレは

 *    終    了    *

しました
0008デフォルトの名無しさん2007/10/02(火) 07:22:25
>>7
すみません。アトミック分割命令って何ですか?
0009デフォルトの名無しさん2007/10/02(火) 07:42:09
検索してみた。このスレが出てきた。
googleはやすぎ。。。
0010デフォルトの名無しさん2007/10/02(火) 09:51:41
>>1
XがAの処理を終わったらAのロックを解除すればいいんじゃないの?
同様にYもBの処理を終わったらBの(以下同文)
0011デフォルトの名無しさん2007/10/02(火) 09:55:39
解除しなかった場合の話でしょ。
0012デフォルトの名無しさん2007/10/02(火) 10:04:39
ACID
0013デフォルトの名無しさん2007/10/02(火) 13:49:24
>>9
最近早いよね、2chのレスがgoogleに反映されるの。
2ch専用のメカニズムでもできたかなw
0014デフォルトの名無しさん2007/10/03(水) 08:40:40
本屋とかでよくデッドロックが起こる。

■■■■本棚■■■■
 俺→● ○←女の子
■■■■本棚■■■■
0015デフォルトの名無しさん2007/10/03(水) 21:54:40
フォークを他人と共有して飯なんか食わねえよヴォケ、って話だっけ?
0016デフォルトの名無しさん2007/10/04(木) 19:33:03
しかも片手じゃ食えない不器用。
0017デフォルトの名無しさん2007/10/04(木) 21:15:22
哲学書を食べれ
0018デフォルトの名無しさん2007/10/04(木) 21:17:14
哲学者を食べれ
0019デフォルトの名無しさん2007/10/05(金) 02:11:43
dying philosopher...
0020デフォルトの名無しさん2007/10/05(金) 03:03:24
ハーバーマンの「オペレーティングシステムの基礎」培風館という
本で勉強したものだったが、あの本の内容は今でも通用するの?
0021デフォルトの名無しさん2007/10/05(金) 19:36:45
する
0022デフォルトの名無しさん2007/10/24(水) 23:37:07
いまどきロックフリーとかSTMとか使うからデッドロックなんて起こり得ないだろ。
0023デフォルトの名無しさん2007/10/29(月) 08:37:46
STMをどう実装するかなどを話題とするスレなんではないの?
0024デフォルトの名無しさん2008/04/12(土) 06:20:03
この板の底近く 610: という位置に沈んでいたのだけど、
なぜ、こんなに書き込みがないのかわからない。
0025デフォルトの名無しさん2008/04/12(土) 12:02:16
マルチスレッドスレかDB板でやるべき話題だからじゃね
0026デフォルトの名無しさん2008/04/12(土) 16:57:44
「屏風絵の虎が夜な夜な屏風を抜け出して暴れるので退治して欲しい」と義満が訴えたところ、一休は「では捕まえますから虎を屏風絵から出して下さい」
「いや抜け出して暴れる前に退治して」
0027デフォルトの名無しさん2008/04/13(日) 07:07:03
夜になると虎が出てくるのでそれまでまで待機して回避
0028デフォルトの名無しさん2008/04/13(日) 19:02:22
 宛 先:[email protected]
 件 名:お知らせ
 送信者:連絡窓口<[email protected]>

 なお、このメールが届かなかった場合は
 至急その旨ご連絡願います。



こうですか!?わかりません!><
0029デフォルトの名無しさん2008/06/12(木) 15:29:51
いまさらだけど、ロックの順序を統一しろってマジレスしちゃだめだったのかな
0030デフォルトの名無しさん2008/06/13(金) 21:30:21
でもさ、プログラマーが複数人いたら
みんなてんでばらばらの実装しちゃうんじゃないの?

リーダーがうまく仕切ればいいけど。
0031デフォルトの名無しさん2008/06/14(土) 08:09:46
前方参照禁止して相互参照なくしてがっちり構造化すれば自然とロック順が固定されるけどな
0032デフォルトの名無しさん2008/06/17(火) 17:50:38
そうだね、コンポートネント間で上位と下位の区別をしっかりとつけて
必ず上位からロックをかけるとかね
0033デフォルトの名無しさん2008/09/06(土) 07:21:28
そもそも無限期間の状態を作り出す仕様が問題なのであって、
特権などをもたない場合は強制的に第三者の特権監視から解除される
ように仕組めば問題なし。特権の強制的なものが問題になるとすれば
仕様自体が問題である。
■ このスレッドは過去ログ倉庫に格納されています