原です。
(1)Mutex に関しての質問です。チュートリアルには共有するデータ
の保護の例として
m.synchronize {
v = v + 100
}
というのがあがっていますが、他にこの様に保護しないといけない演算は
どういうものがありますか?
v.push "abc"
はどうでしょう?
v["ABC"] = "abc"
は?
(2)Thread: deadlock 、、、とかいうメッセージを出してプログラム
が停止することがありますが、このメッセージが出れば必ず ruby のバ
グといえますか?それともこちらのプログラムのアルゴリズムに検討す
べきところがあるのでしょうか?
(3)あるスレッドが TCPsocket.open でブロックしているときに、
他のスレッドが全て止まる様にみえるのですが、これは仕様ですか?
(それとも私の勘違いかも。)これを回避する方法はありますか?