[#9445] thread.rb — m_seki@...

18 messages 2000/03/16
[#9446] Re: thread.rb — matz@... (Yukihiro Matsumoto) 2000/03/17

[#9460] Re: thread.rb — m_seki@... 2000/03/21

[#9462] Re: thread.rb — matz@... (Yukihiro Matsumoto) 2000/03/21

まつもと ゆきひろです

[#11281] Re: thread.rb — Masatoshi SEKI <m_seki@...> 2000/10/22

[#9498] timeout しない timeout — ARIMA Yasuhiro <fit0298@...>

有馬です。

20 messages 2000/03/26
[#9506] Re: timeout しない timeout — matz@... (Yukihiro Matsumoto) 2000/03/27

まつもと ゆきひろです

[#9509] Re: timeout しない timeout — gotoken@... (GOTO Kentaro) 2000/03/27

In message "[ruby-dev:9506] Re: timeout しない timeout"

[ruby-dev:9439] Re: $SAFE

From: Masatoshi SEKI <m_seki@...>
Date: 2000-03-14 21:02:49 UTC
List: ruby-dev #9439
咳といいます。

> |思いつきなんですが、新しいThreadを起動できない
> |セキュリティ・レベルってあったらどうでしょうか?
> 
> 面白いかもしれませんね。
> # すでに線形ではダメではないかという意見もありますが。

うむう。そうですね。


> |servlet, applet, agent 関係で寿命が制御できる Thread が
> |欲しいなと思って、まあそれは timeout なりでできるんですが、
> |Threadが新しいThreadを起動するともう制御できなくなりそう。
> 
> Ruby 1.5ではスレッドのpriorityとThreadGroupによってその問題
> に対処しようとしています。つまり、agentなスレッドのプライオ
> リティを下げたり、スレッドグループ全体をkillしたりしようと言
> うわけです。

1.5ってけっこう変わるんですね。# watchできてない…

うとうとしながら思ったのは、$SAFEのようなスレッド固有データに
あと何tick (sec? msec?) 生きていて良いか(あるいはいつ消えるか)
という値を持たせるというものです。この固有データは$SAFEと同様、
厳しくなる方向 (短くなる方向) にしか再設定できません。で、その
スレッドが生成したスレッドにも同じ値が引き継がれる…。

  + 名前が思いつかないので日本語

	Thread.new do 
	  Thread.current.寿命 = 60秒	# 命日を現時刻の60秒後に設定
	  p Thread.current.命日		# threadがkillされる時刻を印字
	  Thread.new do
	    Thread.current.寿命 = 10秒	# 短くできる
	    foo()
          end
	  Thread.new do	    
	    Thread.current.寿命 = 999秒 # 引き継いだ命日よりも長生きはできない
	    				# なにも変わらない
	    bar()			
          end
	end


Telescriptのプロセス(? プレース、エージェント)がこんなんだったみたいです。
# うそかも


In This Thread

Prev Next