[#23805] net/smtp — 佐藤 大輔 <densuke@...2.so-net.ne.jp>

佐藤です。

26 messages 2000/07/12
[#23806] Re: net/smtp — matz@... (Yukihiro Matsumoto) 2000/07/12

まつもと ゆきひろです

[#23808] Re: net/smtp — 佐藤 大輔 <densuke@...2.so-net.ne.jp> 2000/07/12

佐藤です。

[#23809] Re: net/smtp — matz@... (Yukihiro Matsumoto) 2000/07/12

まつもと ゆきひろです

[#23811] Re: net/smtp — Minero Aoki <aamine@...> 2000/07/12

あおきです。

[#23812] Re: net/smtp — matz@... (Yukihiro Matsumoto) 2000/07/12

まつもと ゆきひろです

[#23890] Ruby Entry Package and cygwin1.dll — Noritsugu Nakamura <nnakamur@...>

25 messages 2000/07/18
[#23895] Re: Ruby Entry Package and cygwin1.dll — WATANABE Hirofumi <eban@...> 2000/07/18

わたなべです.

[#23896] Re: Ruby Entry Package and cygwin1.dll — Noritsugu Nakamura <nnakamur@...> 2000/07/18

[#23897] Re: Ruby Entry Package and cygwin1.dll — Katsuyuki Komatsu <komatsu@...> 2000/07/19

小松です。

[#23898] Re: Ruby Entry Package and cygwin1.dll — WATANABE Hirofumi <eban@...> 2000/07/19

わたなべです.

[#23899] Re: Ruby Entry Package and cygwin1.dll — Katsuyuki Komatsu <komatsu@...> 2000/07/19

小松です。

[#23923] Re: [ruby-dev:10353] Re: should prohibit `module_function' for class Class — Masatoshi SEKI <m_seki@...>

11 messages 2000/07/19

[#23940] String#unpack と scanf の関係 — kiwamu <kiwamu@...>

こんにちは。岡部@東京都立大学と申します。

16 messages 2000/07/20

[ruby-list:24015] Re: context switch during finalizer(Re: Re: Flyweight)

From: Masatoshi SEKI <m_seki@...>
Date: 2000-07-25 17:35:14 UTC
List: ruby-list #24015
咳といいます

From: matz@netlab.co.jp (Yukihiro Matsumoto)
Subject: [ruby-list:23765] Re: context switch during finalizer(Re:  Re: Flyweight)
Date: Mon, 10 Jul 2000 09:17:03 +0900

> |次に、なぜ「finalizerの中ではスイッチしないのかな?」と思ったかに
> |ついてです。
> 
> (中略)
> 
> なるほど。多くのライブラリはあんまりスレッドのことを考慮せず
> に書いてあります、かもしれません。スレッド標準装備をうたって
> るんだから、もうちょっとスレッド対応が簡単な方がよいかも。
> Javaのsyncronized構文とか導入した方が良いのかなあ。
> 
> weakrefは対応します。

preview 版 1.4.6 は対応されていないようです。

それで自分でパッチを書こうかと思ってちょっと試したんですが、
なかなかうまくできません。Mutexで保護するだけでよいと
思ったんだけどなぁ。

テストに使ったスクリプトはこんなのなんですけど、
間違ってるでしょうか?

	require 'weakref'

	def foo(it)
	  Thread.new do
	    loop do
	      p WeakRef.new(it)
	    end
          end
        end

        Thread.abort_on_exception = true
        list = []
        org = "Hello, World."

        10.times do 
          list.push(foo(org))
        end

        sleep 30	# 30秒動けばいいや。

ところで、
finalizerって、すべてのコールバックを呼び終ってから、
GCされるオブジェクトが本当の(?)リサイクル対象となるのですか ?

finalizerを呼び終えるまで、そのIDは再利用されない ??


In This Thread