[#1562] Re: rbdj1227.lzh —
わたなべです.
[#1582] [BUG] Regexp — sinara@...
原です。あけましておめでとうございます。
まつもと ゆきひろです
原です。
まつもと ゆきひろです.
[#1583] jchop — WATANABE Hirofumi <watanabe@...>
わたなべです. おめでとう.
[#1614] [tk] Cannot execute some samples — Eiji-usagi-MATSUmoto <ematsu@...>
まつもと@ぴーえふゆーと申します。はじめまして。
[#1625] matz has back! — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#1639] Script for making Index of Ruby Manual — s.suda@...
須田です。
[#1655] [Q] Use of '==', 'eql?' and 'hash' — sinara@...
原です。
[#1667] [Q] Use of Thread and Mutex — sinara@...
原です。
まつもと ゆきひろです.
原です。
原です。
[#1670] [Q] Timeout in Socket (Re: [Q] Use of Thread and Mutex) — sinara@...
原です。
まつもと ゆきひろです.
[#1677] ruby-1.0-970110 available — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです.
[#1682] 組み込みクラスのメソッド .htm — (Dezawa Shin-ichiro) <dezawa@...>
出沢です
[#1688] Ruby 1.0-970110 on NeXTSTEP — SHIROYAMA Takayuki <psi@...>
[#1705] 正規表現 単独の ? — Sinichiro Dezawa <dezawa@...>
出沢です
まつもと ゆきひろです
matz> rubyの使っているGNUの正規表現ルーチンのデフォルトではパター
わたなべです.
まつもと ゆきひろです.
[#1720] ruby 1.0-970116 available — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです.
[#1723] in-place edit on djgpp/win32 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです.
[#1753] Usage of Menu — Noritugu Nakamura <nnakamur@...>
[#1762] ruby 1.0-970118 available — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#1771] rectangle of canvas widget — Noritugu Nakamura <nnakamur@...>
原です。
まつもと ゆきひろです
原です。
まつもと ゆきひろです.
原です。
[#1788] Text of TkCanvas — Noritugu Nakamura <nnakamur@...>
まつもと ゆきひろです.
まつもと ゆきひろです.
まつもと ゆきひろです.
わたなべです.
[#1794] Filetest error on Ruby-DJ — s.suda@...
須田です。
[#1833] GD.c revised — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#1865] ruby-1.0-960124 available — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
わたなべです.
まつもと ゆきひろです.
わたなべです.
まつもと ゆきひろです.
まつもと@ぴーえふゆーです。
まつもと ゆきひろです.
まつもと@ぴーえふゆーです。
まつもと ゆきひろです.
まつもと@ぴーえふゆーです。
[#1871] None — (Dezawa Shin-ichiro) <dezawa@...>
でざわです
[#1875] toplevel of Tk — Noritugu Nakamura <nnakamur@...>
[#1899] [Dist] Mutex — keiju@... (Keiju ISHITSUKA)
けいじゅ@SHLジャパンです.
[#1926] [Dist] Mutex module — keiju@... (Keiju ISHITSUKA)
けいじゅ@SHLジャパンです.
まつもと ゆきひろです.
けいじゅ@SHLジャパンです.
まつもと ゆきひろです.
原です。
まつもと ゆきひろです.
けいじゅ@SHLジャパンです.
けいじゅ@SHLジャパンです.
まつもと ゆきひろです.
けいじゅ@SHLジャパンです.
まつもと ゆきひろです.
原です。
まつもと ゆきひろです.
けいじゅ@SHLジャパンです.
原です。
けいじゅ@SHLジャパンです.
まつもと ゆきひろです.
原です。
まつもと ゆきひろです.
原です。
まつもと ゆきひろです.
原です。
まつもと ゆきひろです.
原です。
まつもと ゆきひろです.
原です。
出沢です
まつもと ゆきひろです.
原です。
[#1953] open (file descriptor) — j_kuro@... (Jun Kuroda)
黒田です.
まつもと ゆきひろです.
黒田です.
原です。
まつもと ゆきひろです.
[ruby-list:1728] Re: [Q] Use of Thread and Mutex
まつもと ゆきひろです.
In message "[ruby-list:1724] Re: [Q] Use of Thread and Mutex"
on 97/01/16, sinara@blade.nagaokaut.ac.jp <sinara@blade.nagaokaut.ac.jp> writes:
|
|原です。
|
|一連の thread がらみのレポートに対して、まつもとさんの反応が
|あまりないけど(^^; 、、、単なるぼやきだと思われたかな?
いやあ,ちゃいます.本業とのコンテキストスイッチの間に情報
が落ちちゃったみたいです(ぼけてるともいう).
|【1】[ruby-list 1669] で述べた
|が Segmentation fault で落ちる件ですが、最新バージョンでは落ちなく
|なりました。
こっそり直しました.見つかっちゃいましたね.
|【2】[ruby-list 1696] で述べた thread.rb の class Queue は、うま
|く動作しないことがあるのではないかという話ですが、確かに次のスク
|リプトは、結構早く止まってしまいます。
|やはり、まずいみたいです。
そうですね.popを保護したらちゃんと動作するようになったみた
いです.うーむ,threadは難しい.
|
|【3】[ruby-list 1696] で言ったように、Hash#[]= は、thread に対し
|て保護されていないようです。
|これを動かすと、20回に1回ほど10秒ぐらいで停止します。
|Thread.exlusive を使うとこれは起こらないので、class Mutex の方
|も若干甘い所があるのではないでしょうか?
そうかもしれません.こちらも書き換えてみました.たぶん,直っ
たのだと思います.
まつもと ゆきひろ /:|)
--- thread.rb~ Thu Dec 19 10:20:54 1996
+++ thread.rb Thu Jan 16 20:18:01 1997
@@ -41,10 +41,12 @@
end
def unlock
- @locked = FALSE
- if w = @waiting.shift
- w.run
+ w = FALSE
+ Thread.exclusive do
+ @locked = FALSE
+ w = @waiting.shift
end
+ w.run if w
end
def synchronize
@@ -95,19 +97,21 @@
end
def push(obj)
- @que.push obj
- if t = @waiting.shift
- t.run
+ t = FALSE
+ Thread.exclusive do
+ @que.push obj
+ t = @waiting.shift
end
+ t.run if t
end
def pop non_block=FALSE
- if @que.length == 0
- raise ThreadError, "queue empty" if non_block
- @waiting.push Thread.current
- Thread.stop
+ Thread.exclusive do
+ return @que.shift if @que.length > 0
end
- @que.shift
+ raise ThreadError, "queue empty" if non_block
+ @waiting.push Thread.current
+ Thread.stop
end
def empty?