[#1582] [BUG] Regexp — sinara@...

原です。あけましておめでとうございます。

16 messages 1997/01/06

[#1705] 正規表現 単独の ? — Sinichiro Dezawa <dezawa@...>

出沢です

14 messages 1997/01/15

[#1771] rectangle of canvas widget — Noritugu Nakamura <nnakamur@...>

18 messages 1997/01/19

[#1788] Text of TkCanvas — Noritugu Nakamura <nnakamur@...>

28 messages 1997/01/20
[#1800] Re: Text of TkCanvas — matz@... (Yukihiro Matsumoto) 1997/01/21

まつもと ゆきひろです.

[#1802] Re: Text of TkCanvas — Noritugu Nakamura <nnakamur@...> 1997/01/21

[#1806] Re: Text of TkCanvas — matz@... (Yukihiro Matsumoto) 1997/01/22

まつもと ゆきひろです.

[#1816] Re: Text of TkCanvas — Noritugu Nakamura <nnakamur@...> 1997/01/22

[#1819] Re: Text of TkCanvas — matz@... (Yukihiro Matsumoto) 1997/01/22

まつもと ゆきひろです.

[#1865] ruby-1.0-960124 available — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

25 messages 1997/01/24
[#1878] Re: ruby-1.0-960124 available — WATANABE Hirofumi <watanabe@...> 1997/01/27

わたなべです.

[#1879] Re: ruby-1.0-960124 available — matz@... (Yukihiro Matsumoto) 1997/01/27

まつもと ゆきひろです.

[#1880] Re: ruby-1.0-960124 available — WATANABE Hirofumi <watanabe@...> 1997/01/27

わたなべです.

[#1890] Re: ruby-1.0-960124 available — matz@... (Yukihiro Matsumoto) 1997/01/27

まつもと ゆきひろです.

[#1926] [Dist] Mutex module — keiju@... (Keiju ISHITSUKA)

けいじゅ@SHLジャパンです.

81 messages 1997/01/28
[#1929] Re: [Dist] Mutex module — matz@... (Yukihiro Matsumoto) 1997/01/29

まつもと ゆきひろです.

[#1934] Re: [Dist] Mutex module 1997/01/29

けいじゅ@SHLジャパンです.

[#1935] Re: [Dist] Mutex module — matz@... (Yukihiro Matsumoto) 1997/01/29

まつもと ゆきひろです.

[#1938] Re: [Dist] Mutex module 1997/01/29

けいじゅ@SHLジャパンです.

[#1940] Re: [Dist] Mutex module — matz@... (Yukihiro Matsumoto) 1997/01/29

まつもと ゆきひろです.

[#1944] Re: [Dist] Mutex module 1997/01/29

けいじゅ@SHLジャパンです.

[#1947] Re: [Dist] Mutex module — matz@... (Yukihiro Matsumoto) 1997/01/29

まつもと ゆきひろです.

[#1960] Re: [Dist] Mutex module — sinara@... 1997/01/30

原です。

[#1969] Re: [Dist] Mutex module 1997/01/30

けいじゅ@SHLジャパンです.

[#1978] Re: [Dist] Mutex module — sinara@... 1997/01/30

原です。

[#1986] Re: [Dist] Mutex module 1997/01/30

けいじゅ@SHLジャパンです.

[#1989] Array as list/tupple (Re: [Dist] Mutex module) — matz@... (Yukihiro Matsumoto) 1997/01/31

まつもと ゆきひろです.

[#2008] [Request] static var? (Re: Array as list/tupple) — sinara@... 1997/01/31

原です。

[#1953] open (file descriptor) — j_kuro@... (Jun Kuroda)

黒田です.

16 messages 1997/01/29

[ruby-list:1669] Re: [Q] Use of Thread and Mutex

From: sinara@...
Date: 1997-01-10 06:50:03 UTC
List: ruby-list #1669
原です。

> まつもと ゆきひろです.

> |(1)

> 共有するデータの変更は基本的にMutexで保護する必要があります.
> 参照するだけなら必要ないです.しかし,実はrubyのthreadはかな
> りnon-preemptiveなところがあるので,
> # つまり安全なタイミングでしか切替えが起きない
> 
> |  v.push "abc"
> |
> |はどうでしょう?
> |
> |  v["ABC"] = "abc"
> |
> |は?
> 
> はちゃんと動く可能性があります.でも,保護しておいた方が安全
> でしょう.将来のrubyがちゃんとしたthreadを使うようにならない
> と言う保証は無いですから.

わかりました。実は上の2つは結構ちゃんと動いているみたいなので、
質問しました。


> |(2)Thread: deadlock 、、、とかいうメッセージを出してプログラム
> |が停止することがありますが、このメッセージが出れば必ず ruby のバ
> |グといえますか?それともこちらのプログラムのアルゴリズムに検討す
> |べきところがあるのでしょうか?
> 
> rubyのバグでなければdeadlockが起きています.たとえばthreadが
> お互いの終了を待ってブロックしてしまったりするとdeadlockにな
> ります.

そうなんですか、そういうチェックが入っているんですね。

ときどき deadlock を起こすこちらのプログラムは、複数のスレッドが
互いに「ただ一つのみの Mutex オブジェクトを、synchronize をのみ
を使ってブロックする」だけなのですが、この条件で deadlock を起こ
す可能性は無いと思うのですが、勘違いかな。

とここまで書いて気がついたけどつぎのスクリプトで deadlock が
作れますね。

----^ deadlock_test.rb
#!/usr/local/bin/ruby
require "thread"
m = Mutex.new
Thread.start {
  m.synchronize {
    m.synchronize {
    }
  }
}
m.synchronize {
  m.synchronize {
  }
}
----$ deadlock_test.rb

synchronize のネストがないかどうか、自分のスクリプトを点検してみ
ることにします。^^;

とろこで、つぎのスクリプトでは deadlock エラーが起こらずプログラ
ムが停止します。

----^ deadlock_test1.rb
#!/usr/local/bin/ruby
require "thread"
m = Mutex.new
m.synchronize {
  m.synchronize {
  }
}
----$ deadlock_test1.rb

自分のスレッドでかけたロックにチェック機構が働いてないので
しょうか?

次の例では Segmentation falut で落ちます。

----^ deadlock_test2.rb
#!/usr/local/bin/ruby
require "thread"
m = Mutex.new
Thread.start {
  m.synchronize {
    m.synchronize {
    }
  }
}
sleep 1
----$ deadlock_test2.rb

どれも linxu 1.2.13 ELF で、です。

---===-=-=-=-=-=-=-=-=======--=-=-=-==-=-===-=-=-=-=-=-=--=-==-=--
                            Shin-ichro Hara(Nagaoka Univ.of Tech.)

In This Thread