こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

回答受付中の質問

javaでスレッド内でパイプ処理を用いて処理をしているのですがデッドロ

javaでスレッド内でパイプ処理を用いて処理をしているのですがデッドロックが発生してしまいました。
Javadocには記載されているのですがどのような原因かが分からないので教えてください。

投稿日時 - 2010-09-09 21:54:42

QNo.6170842

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

質問文にある内容だけでは回答できないので
・そのパイプ処理というのは具体的には何をしているのか
 PipedInputStreamやPipedWriterなどのクラスを使った処理なのか、全く別の話なのか
・どうやってデッドロックであると判断したのか
・何のJavadocに何と記載されているのか
を補足してください。

投稿日時 - 2010-09-10 20:39:25

ANo.1

AがロックしているオブジェクトをBがウェイトしていて、BがロックしているオブジェクトをAがウェイとしているとか?

お前が開放すれば俺も開放するよみたいなことをA,Bがお互いに言ってにらみ合っているような状態です。

この場合ロックする順序を一方に合わせればデッドロックは防げます。

詳しい状況が書かれていないので(書けと言っているわけではありません)何とも言えませんが一般的な原因はこういうものです。

投稿日時 - 2010-09-10 12:52:13