別のキーワード
種類
- インスタンスメソッド (44)
- 文書 (33)
- クラス (22)
- ライブラリ (11)
- 特異メソッド (11)
クラス
- Thread (44)
-
Thread
:: Queue (11)
キーワード
- Thread (11)
- ThreadError (11)
- alive? (11)
-
drb
/ extservm (11) -
num
_ waiting (11) -
ruby 1
. 6 feature (11) -
ruby 1
. 8 . 3 feature (11) - run (11)
- wakeup (11)
- スレッド (11)
検索結果
-
Thread
. stop -> nil (18113.0) -
他のスレッドから Thread#run メソッドで再起動されるまで、カレ ントスレッドの実行を停止します。
...ドから Thread#run メソッドで再起動されるまで、カレ
ントスレッドの実行を停止します。
//emlist[例][ruby]{
a = Thread.new { print "a"; Thread.stop; print "c" }
sleep 0.1 while a.status!='sleep'
print "b"
a.run
a.join
# => "abc"
//}
@see Thread#run, Thread#wakeup... -
ruby 1
. 6 feature (66.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
...具合が修正さ
れました。((<ruby-bugs-ja:PR#223>))
trap(:TERM, "EXIT")
END{
puts "exit"
}
Thread.start { Thread.stop }
sleep
: 2002-04-17: Regexp#inspect
((<ruby-bugs-ja:PR#222>))
p %r{\/}
=> ruby 1.6.7 (2002-03-01) [i586-linux]
/\\//......((<ruby-dev:14743>))
def foo(t)
t.run
end
t = Thread.start do
t = $_= "sub"
loop{Thread.stop;puts "sub:#$_"}
end
$_ = "main"
t.run # => sub:sub
puts "main:#$_" # => main:main......$SAFE = 4
a.life -= 1
end.join
p a.life
=> ruby 1.6.4 (2001-06-04) [i586-linux]
6
=> ruby 1.6.4 (2001-08-06) [i586-linux]
-:6:in `life=': Insecure: can't modify Struct (SecurityError)
from -:3:in `join'
from -:3
: ((<String>))#rind... -
ruby 1
. 8 . 3 feature (48.0) -
ruby 1.8.3 feature *((<ruby 1.8 feature>)) *((<ruby 1.8.2 feature>))
...ようになりました。
=== 2005-09-16
: File.join [ruby] [compat]
型チェックを厳密にするようになりました。
$ ruby-1.8.2 -e 'p File.join(1, 2)'
"1/2"
$ ruby-1.8.3 -e 'p File.join(1, 2)'
-e:1:in `join': can't convert Fixnum into String (TypeError)......th = Thread.new{
$SAFE = 3
class Hoge
def foo
puts "safe level: #{$SAFE}"
end
end
}
th.join
p $SAFE
Hoge.new.foo
$ ruby-1.8.2 mthd_taint.rb
0
"safe level: 0"
$ ruby-1.8.3 mthd_taint.rb
0
mthd_taint.rb:......((<ruby-list:40818>))
$ cat brk.rb
def stop(n)
break if n == 2
end
(1..5).each do |i|
stop(i)
puts i
end
$ ruby-1.8.2 brk.rb
1
$ ruby-1.8.3 brk.rb
1
brk.rb:2:in `stop': unexpected break (LocalJumpError)
from b... -
drb
/ extservm (42.0) -
DRb::ExtServManager を定義しているライブラリ。
...後 client.rb を
動かします。service.rb は server.rb が client.rb からサービスを要求された
時に起動されます。また、stop.rbを用いて
server.rb:
require 'drb/drb'
require 'drb/extservm'
Dir.chdir(File.dirname(__FILE__))
# サービスを起動する......定する
s = DRb::ExtServManager.new
DRb.start_service("druby://localhost:10234", s)
# drb のプロセスの終了を待つ
DRb.thread.join
service.rb:
require 'drb/drb'
require 'drb/extserv'
# サービスを表すクラス
class Service
include DRb::DRbUndumped......server)
# サーバスレッドの停止を待つ
DRb.thread.join
# サービスを DRb::ExtServ#stop_service で止めると、サーバスレッドが
# 終了するため、以下の行が実行される
puts "Stop #{ARGV[0]}"
client.rb:
require 'drb/drb'
DRb.start_service... -
Thread (36.0)
-
スレッドを表すクラスです。スレッドとはメモリ空間を共有して同時に実行される制御の流れです。 Thread を使うことで並行プログラミングが可能になります。
...するスレッドを Thread#join で待っている他の
スレッドがある場合、その待っているスレッドに対して、同じ例外が再度
発生します。
begin
t = Thread.new do
Thread.pass # メインスレッドが確実にjoinするように
raise "un......handled exception"
end
t.join
rescue
p $! # => "unhandled exception"
end
また、以下の 3 つの方法により、いずれかのスレッドが例外によって終
了した時に、インタプリタ全体を中断させるように指定することができま
す。
*......この状態です。
Thread#join でスレッドの終了を待っているスレッドもスレッドの
終了によりこの状態になります。
この状態のスレッドは「生きて」います。
: sleep (停止状態)
Thread.stop や Thread#join により停止されたスレ... -
スレッド (36.0)
-
スレッド スレッドとはメモリ空間を共有して同時に実行される制御の流れです。 Ruby ではスレッドはThread クラスのインスタンスとして表されます。
...するスレッドを Thread#join で待っている他の
スレッドがある場合、その待っているスレッドに対して、同じ例外が再度
発生します。
begin
t = Thread.new do
Thread.pass # メインスレッドが確実にjoinするように
raise "un......handled exception"
end
t.join
rescue
p $! # => "unhandled exception"
end
また、以下の 3 つの方法により、いずれかのスレッドが例外によって終
了した時に、インタプリタ全体を中断させるように指定することができま
す。
*......この状態です。
Thread#join でスレッドの終了を待っているスレッドもスレッドの
終了によりこの状態になります。
この状態のスレッドは「生きて」います。
: sleep (停止状態)
Thread.stop や Thread#join により停止されたスレ... -
Thread
# run -> self (34.0) -
停止状態(stop)のスレッドを再開させます。 Thread#wakeup と異なりすぐにスレッドの切り替え を行います。
...止状態(stop)のスレッドを再開させます。
Thread#wakeup と異なりすぐにスレッドの切り替え
を行います。
@raise ThreadError 死んでいるスレッドに対して実行すると発生します。
//emlist[例][ruby]{
a = Thread.new { puts "a"; Thread.stop; puts "c"......}
sleep 0.1 while a.status!='sleep'
puts "Got here"
a.run
a.join
# => a
# => Got here
# => c
//}
@see Thread#wakeup, Thread.stop... -
Thread
# wakeup -> self (34.0) -
停止状態(stop)のスレッドを実行可能状態(run)にします。
...停止状態(stop)のスレッドを実行可能状態(run)にします。
@raise ThreadError 死んでいるスレッドに対して実行すると発生します。
//emlist[例][ruby]{
c = Thread.new { Thread.stop; puts "hey!" }
sleep 0.1 while c.status!='sleep'
c.wakeup
c.join
# => "hey!"
//}......@see Thread#run, Thread.stop... -
ThreadError (18.0)
-
Thread 関連のエラーが起きたときに発生します。
...トスレッドを Thread#join しようとしたとき
* Thread#join でデッドロックしそうになったとき
* 終了したスレッドを Thread#wakeup あるいは Thread#run しようとしたとき
* スレッドが一つしかないのに Thread.stop しようとしたとき
*... -
Thread
# alive? -> bool (12.0) -
スレッドが「生きている」時、true を返します。
...」時、true を返します。
例:
thr = Thread.new { }
thr.join # => #<Thread:0x401b3fb0 dead>
Thread.current.alive? # => true
thr.alive? # => false
Thread#status が真を返すなら、このメソッドも真です。
@see Thread#status, Thread#stop?...