[前][次][番号順一覧][スレッド一覧][生データ]

yarv-dev:993

From: Minero Aoki <aamine loveruby.net>
Date: Mon, 27 Feb 2006 22:41:18 +0900 (JST)
Subject: [yarv-dev:993] Re: SizedQueue is too slow

青木です。

  In mail "[yarv-dev:990] Re: fixed> Re: SizedQueue is too slow"
  sheepman <sheepman sheepman.sakura.ne.jp> wrote:

> こんばんは、sheepman です。

> > ありがとうございます。とりあえずあてておきました。

> すいません、今のコードだとビジーループになってしまいます。
> 元のコードに revert して下さい。お手数ですがお願いします。

おっと、早まりましたか。戻します。

ちなみに、

>        @mutex.synchronize{
> -        return @que.shift unless @que.empty?
> +        if @que.empty?
> +          raise ThreadError, "queue empty" if non_block
> +          @waiting.push Thread.current
> +          @mutex.unlock_and_stop
> +          @mutex.lock
> +          break
> +        else
> +          return @que.shift
> +        end
>        }

ここの break は synchronize を抜けるという意図ですよね。
であれば、必要ないように思います。

……ということで勝手に抜きました。

--
青木峰郎

-- 
ML: yarv-dev quickml.atdot.net
使い方: http://www.atdot.net/~ko1/quickml

[前][次][番号順一覧][スレッド一覧][生データ]

       973 2006-02-23 22:15 [sheepman sheepman.sa] open> SizedQueue is too slow            
       974 2006-02-23 22:27 ┗[sheepman sheepman.sa]                                       
       975 2006-02-23 23:26  ┗[sheepman sheepman.sa]                                     
       983 2006-02-27 11:42   ┗[aamine loveruby.net ] fixed> Re: SizedQueue is too slow 
       984 2006-02-27 15:21    ┣[matz ruby-lang.org  ]                                 
       990 2006-02-27 22:07    ┗[sheepman sheepman.sa]                                 
       991 2006-02-27 22:09     ┣[ko1 atdot.net       ]                               
->     993 2006-02-27 22:41     ┗[aamine loveruby.net ] Re: SizedQueue is too slow