[#29987] ライセンス論点整理 — Tacos <ozaki@...>

38 messages 2001/06/01

[#30030] Ruby license discussion — Masayuki Hatta <mhatta@...>

八田と申します。

23 messages 2001/06/02
[#30034] Re: Ruby license discussion — "Akinori MUSHA" <knu@...> 2001/06/02

At Sat, 2 Jun 2001 14:31:02 +0900,

[#30039] Re: Ruby license discussion — akira yamada / やまだあきら <akira@...> 2001/06/02

[#30056] Re: Ruby license discussion — Takaaki Higuchi <thiguchi@...> 2001/06/03

In "akira yamada / やまだあきら <akira@ruby-lang.org>" wrote:

[#30155] How do we treat local static variables? — IKEGAMI Daisuke <daisu-ik@...>

ruby-list の皆さんこんにちは。

13 messages 2001/06/09
[#30156] Re: How do we treat local static variables? — NISHI Takao <zophos@...9.com> 2001/06/09

にし@おかやまです。

[#30163] FW: [arg1:119] RE: [RubyUnit:4203] Re: インストーラ・プロジェクト — "KANEMITSU Masao" <masao-k@...>

金光です。RAAを改善しませんか?

10 messages 2001/06/10

[#30190] 呼び出し元のクラスを知る方法? — "Shin'ya Adzumi" <adzumi@...>

あづみです。

13 messages 2001/06/11

[#30215] パス文字列を操作するライブラリはありませんか? — "Kaoru Shirai" <shirai@...1jp.com>

 こんにちわ。常日頃 Ruby を愛用させて頂いております。

13 messages 2001/06/13

[#30270] setup.rb — rubikitch@...

るびきちです。

16 messages 2001/06/16
[#30291] Re: setup.rb — Minero Aoki <aamine@...> 2001/06/18

あおきです。すみません、見逃してました。

[#30292] Re: setup.rb — rubikitch <rubikitch@...> 2001/06/19

From: Minero Aoki <aamine@mx.edit.ne.jp>

[#30293] Re: setup.rb — TADA Tadashi <sho@...> 2001/06/19

ただただしです。

[#30305] TMarshal — rubikitch@...

るびきちです。

25 messages 2001/06/19

[#30333] 共同著作物の謎( re :ライセンス) — Tacos <ozaki@...>

13 messages 2001/06/20
[#30334] Re: 共同著作物の謎( re :ライセンス) — Tacos <ozaki@...> 2001/06/20

[ruby-list:30205] Re: $B8F$S=P$785$N%/%i%9$rCN$kJ}K!!)(B

From: Masatoshi SEKI <m_seki@...>
Date: 2001-06-12 13:27:36 UTC
List: ruby-list #30205
咳といいます。

かっこいいなぁ。

> MailBox で考えるんなら素直に owner だけが読みだせる Queue を考えますね.
> 
>     require "thread"
>     
>     class MailBox
>       def iniaitlize(owner = Thread.current)
>         @owner = owner
>         @queue = Queue.new
>       end
>     
>       def push(obj)
>         @queue.push(obj)
>       end
>     
>       def pop
>         raise "permission denied." if Thread.current != @owner
>         @queue.pop
>       end
>     end
>     
>     MailBoxes = {}
>     
>     t1 = Thread.new { MailBoxes[Thread.current] = MailBox.new; .... }
>     # $m1 = MailBox.new(t1) ってな書き方もできる.だからどうしたという
>     # 話はある.
> 
> って感じで.

> # 継承するでもなく delegate.rb を使うでもないあたりがひねくれてる :-P

そうかなぁ。使わないおかげですっきりしてると思うけど。


> Global constant な MailBoxes が気に入らないなら Singleton で何かかぶせ
> る,かな.

MailBoxesのキーがスレッドならいっそスレッド変数(?)にもたせたら
どうでしょう?

   class MailBox
     def iniaitlize(owner = Thread.current)
       @owner = owner
       @queue = Queue.new
       Thread.current['mbox'] = self
     end
     ...
   end

t1['mbox'].push(mail)


まだ 本当にやりたかったこと が良くわかってないんですが、
こういうのでしょうか??

require 'thread'

class MailBox
  def initialize(&proc)
    @queue = Queue.new
    @thread = Thread.new do
      loop do
         proc.call(@queue.pop)
      end
    end    
  end

  def push(obj)
    @queue.push(obj)
  end
end

m1 = MailBox.new do |mail|
  puts mail
end

m1.push('hello')

In This Thread