別のキーワード
ライブラリ
- ビルトイン (15)
- drb (3)
-
drb
/ extservm (1) - objspace (4)
- profiler (1)
-
rdoc
/ code _ object (2) -
rdoc
/ markup (1) -
rdoc
/ markup / formatter (1) - socket (8)
クラス
-
DRb
:: DRbServer (2) -
DRb
:: ExtServManager (1) -
Encoding
:: Converter (4) -
RDoc
:: CodeObject (2) -
RDoc
:: Markup (1) -
RDoc
:: Markup :: Formatter (1) - Socket (4)
- Thread (9)
- Time (1)
モジュール
- DRb (1)
- ObjectSpace (4)
-
Profiler
_ _ (1) -
Socket
:: Constants (4)
キーワード
-
IPPROTO
_ DSTOPTS (2) -
IPV6
_ DSTOPTS (2) -
IPV6
_ RECVDSTOPTS (2) -
IPV6
_ RTHDRDSTOPTS (2) - Thread (1)
-
add
_ tag (1) -
add
_ word _ pair (1) - alive? (2)
-
allocation
_ sourcefile (1) -
allocation
_ sourceline (1) -
drb
/ extservm (1) -
handle
_ interrupt (1) -
primary
_ server (1) -
primitive
_ convert (4) -
print
_ profile (1) -
report
_ on _ exception (1) -
report
_ on _ exception= (1) -
ruby 1
. 6 feature (1) -
ruby 1
. 8 . 3 feature (1) - run (1)
- service (1)
-
start
_ doc (1) - status (1)
- stop? (1)
-
stop
_ doc (1) -
stop
_ service (1) - strftime (1)
-
trace
_ object _ allocations _ start (1) -
trace
_ object _ allocations _ stop (1) - wakeup (1)
- スレッド (1)
検索結果
先頭5件
-
Thread
. stop -> nil (54340.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 -
Thread
# stop? -> bool (18424.0) -
スレッドが終了(dead)あるいは停止(stop)している時、true を返します。
スレッドが終了(dead)あるいは停止(stop)している時、true を返します。
//emlist[例][ruby]{
a = Thread.new { Thread.stop }
b = Thread.current
a.stop? # => true
b.stop? # => false
//}
@see Thread#alive?, Thread#status -
DRb
:: DRbServer # stop _ service -> () (18322.0) -
サーバを停止します。
サーバを停止します。
@see DRb::DRbServer#alive? -
ObjectSpace
. # trace _ object _ allocations _ stop -> nil (18322.0) -
オブジェクト割り当てのトレースを終了します。
オブジェクト割り当てのトレースを終了します。
トレースを終了する為には、ObjectSpace.#trace_object_allocations_startを呼んだ回数分だけこのメソッドを呼ぶ必要があります。
@see ObjectSpace.#trace_object_allocations_start -
RDoc
:: CodeObject # stop _ doc -> () (18322.0) -
以降に解析したコメントを RDoc::CodeObject#start_doc を呼び出すま での間、ドキュメントに含めません。
以降に解析したコメントを RDoc::CodeObject#start_doc を呼び出すま
での間、ドキュメントに含めません。
:stopdoc: を見つけた時に呼び出されます。
RDoc::CodeObject#document_self と
RDoc::CodeObject#document_children を false に設定します。
@see RDoc::CodeObject#start_doc -
Socket
:: Constants :: IPPROTO _ DSTOPTS -> Integer (18319.0) -
IPv6 destination option。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
IPv6 destination option。
BasicSocket#getsockopt, BasicSocket#setsockopt の
level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
@see 2292 -
Socket
:: Constants :: IPV6 _ DSTOPTS -> Integer (18319.0) -
Destination options。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
Destination options。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see Socket::Constants::IPPROTO_IPV6,
ip6(4freebsd), ipv6(7linux),
3542 -
Socket
:: Constants :: IPV6 _ RECVDSTOPTS -> Integer (18319.0) -
Receive all IP6 options for response。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
Receive all IP6 options for response。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see Socket::Constants::IPPROTO_IPV6,
3542 -
Socket
:: Constants :: IPV6 _ RTHDRDSTOPTS -> Integer (18319.0) -
Allows removal of sticky destination options header。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
Allows removal of sticky destination options header。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see Socket::Constants::IPPROTO_IPV6,
3542 -
Socket
:: IPPROTO _ DSTOPTS -> Integer (18319.0) -
IPv6 destination option。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
IPv6 destination option。
BasicSocket#getsockopt, BasicSocket#setsockopt の
level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
@see 2292 -
Socket
:: IPV6 _ DSTOPTS -> Integer (18319.0) -
Destination options。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
Destination options。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see Socket::Constants::IPPROTO_IPV6,
ip6(4freebsd), ipv6(7linux),
3542 -
Socket
:: IPV6 _ RECVDSTOPTS -> Integer (18319.0) -
Receive all IP6 options for response。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
Receive all IP6 options for response。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see Socket::Constants::IPPROTO_IPV6,
3542 -
Socket
:: IPV6 _ RTHDRDSTOPTS -> Integer (18319.0) -
Allows removal of sticky destination options header。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
Allows removal of sticky destination options header。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see Socket::Constants::IPPROTO_IPV6,
3542 -
RDoc
:: Markup # add _ word _ pair(start , stop , name) -> () (442.0) -
start と stop ではさまれる文字列(例. *bold*)をフォーマットの対象にしま す。
start と stop ではさまれる文字列(例. *bold*)をフォーマットの対象にしま
す。
@param start 開始となる文字列を指定します。
@param stop 終了となる文字列を指定します。start と同じ文字列にする事も
可能です。
@param name SM::ToHtml などのフォーマッタに識別させる時の名前を
Symbol で指定します。
@raise RuntimeError start に "<" で始まる文字列を指定した場合に発生します。
例:
require 'rdoc/markup/... -
RDoc
:: Markup :: Formatter # add _ tag(name , start , stop) -> () (424.0) -
name で登録された規則で取得された文字列を start と stop で囲むように指 定します。
name で登録された規則で取得された文字列を start と stop で囲むように指
定します。
@param name RDoc::Markup::ToHtml などのフォーマッタに識別させる時
の名前を Symbol で指定します。
@param start 開始の記号を文字列で指定します。
@param stop 終了の記号を文字列で指定します。
例:
require 'rdoc/markup/to_html'
# :STRIKE のフォーマットを <strike> 〜 </strike> に指定。
h = RDoc::Markup:... -
ruby 1
. 6 feature (289.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
ruby 1.6 feature
ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン
になります。
((<stable-snapshot|URL:ftp://ftp.netlab.co.jp/pub/lang/ruby/stable-snapshot.tar.gz>)) は、日々更新される安定版の最新ソースです。
== 1.6.8 (2002-12-24) -> stable-snapshot
: 2003-01-22: errno
EAGAIN と EWOULDBLOCK が同じ値のシステムで、EWOULDBLOCK がなくなっ
ていま... -
Encoding
:: Converter # primitive _ convert(source _ buffer , destination _ buffer) -> Symbol (127.0) -
エンコーディング変換のためのメソッドの中で、もっとも細かな扱いが可能なメソッドです。
エンコーディング変換のためのメソッドの中で、もっとも細かな扱いが可能なメソッドです。
可搬性を確保しつつ、不正なバイトや変換先で未定義な文字の扱いを細かに指定したいときは、Encoding::Converter#primitive_convert が唯一の方法になります。
@param source_buffer 変換元文字列のバッファ
@param destination_buffer 変換先文字列を格納するバッファ
@param destination_byteoffset 変換先バッファでのオフセット
@param destination_bytesize 変換先バッファの容量
@... -
Encoding
:: Converter # primitive _ convert(source _ buffer , destination _ buffer , destination _ byteoffset) -> Symbol (127.0) -
エンコーディング変換のためのメソッドの中で、もっとも細かな扱いが可能なメソッドです。
エンコーディング変換のためのメソッドの中で、もっとも細かな扱いが可能なメソッドです。
可搬性を確保しつつ、不正なバイトや変換先で未定義な文字の扱いを細かに指定したいときは、Encoding::Converter#primitive_convert が唯一の方法になります。
@param source_buffer 変換元文字列のバッファ
@param destination_buffer 変換先文字列を格納するバッファ
@param destination_byteoffset 変換先バッファでのオフセット
@param destination_bytesize 変換先バッファの容量
@... -
Encoding
:: Converter # primitive _ convert(source _ buffer , destination _ buffer , destination _ byteoffset , destination _ bytesize) -> Symbol (127.0) -
エンコーディング変換のためのメソッドの中で、もっとも細かな扱いが可能なメソッドです。
エンコーディング変換のためのメソッドの中で、もっとも細かな扱いが可能なメソッドです。
可搬性を確保しつつ、不正なバイトや変換先で未定義な文字の扱いを細かに指定したいときは、Encoding::Converter#primitive_convert が唯一の方法になります。
@param source_buffer 変換元文字列のバッファ
@param destination_buffer 変換先文字列を格納するバッファ
@param destination_byteoffset 変換先バッファでのオフセット
@param destination_bytesize 変換先バッファの容量
@... -
Encoding
:: Converter # primitive _ convert(source _ buffer , destination _ buffer , destination _ byteoffset , destination _ bytesize , options) -> Symbol (127.0) -
エンコーディング変換のためのメソッドの中で、もっとも細かな扱いが可能なメソッドです。
エンコーディング変換のためのメソッドの中で、もっとも細かな扱いが可能なメソッドです。
可搬性を確保しつつ、不正なバイトや変換先で未定義な文字の扱いを細かに指定したいときは、Encoding::Converter#primitive_convert が唯一の方法になります。
@param source_buffer 変換元文字列のバッファ
@param destination_buffer 変換先文字列を格納するバッファ
@param destination_byteoffset 変換先バッファでのオフセット
@param destination_bytesize 変換先バッファの容量
@... -
Thread
# run -> self (121.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, Threa... -
Thread
# wakeup -> self (121.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 -
drb
/ extservm (109.0) -
DRb::ExtServManager を定義しているライブラリ。
DRb::ExtServManager を定義しているライブラリ。
DRb::ExtServManager は drb で実現されたサービスブローカーです。
個々のサービスは drb/extserv で定義されている
DRb::ExtServ を用いて実装します。
DRb::ExtServManager
はクライアントの要求に応じて個々のサービスを
サブプロセスとして起動し、各サービスを表す DRb::ExtServ オブジェクト
をリモートオブジェクトとしてクライアントに渡します。
このライブラリは簡易的なもので、あまりメンテナンスもされていないので、
本格的な用途にはこのライブラリを参... -
ObjectSpace
. # allocation _ sourcefile(object) -> String (91.0) -
objectの元となったソースファイル名を返します。
objectの元となったソースファイル名を返します。
@param object 元となるソースファイル名を取得したいobjectを指定します。
@return objectの元となるソースファイル名を返します。存在しない場合はnilを返します。
//emlist[例:test.rbというファイルで下記のスクリプトを実行した場合][ruby]{
require 'objspace'
ObjectSpace::trace_object_allocations_start
obj = Object.new
puts "file:#{ObjectSpace::allocation_sourc... -
ObjectSpace
. # allocation _ sourceline(object) -> Integer (91.0) -
objectの元となったソースファイルの行番号を返します。
objectの元となったソースファイルの行番号を返します。
@param object 元となるソースファイルの行番号を取得したいobjectを指定します。
@return objectの元となるソースファイルの行番号を返します。存在しない場合はnilを返します。
//emlist[例][ruby]{
require 'objspace'
ObjectSpace::trace_object_allocations_start
obj = Object.new
puts "line:#{ObjectSpace::allocation_sourceline(obj)}" # => lin... -
Thread
. handle _ interrupt(hash) { . . . } -> object (91.0) -
スレッドの割り込みのタイミングを引数で指定した内容に変更してブロックを 実行します。
スレッドの割り込みのタイミングを引数で指定した内容に変更してブロックを
実行します。
「割り込み」とは、非同期イベントや Thread#raise や
Thread#kill、Signal.#trap(未サポート)、メインスレッドの終了
(メインスレッドが終了すると、他のスレッドも終了されます)を意味します。
@param hash 例外クラスがキー、割り込みのタイミングを指定する
Symbol が値の Hash を指定します。
値の内容は以下のいずれかです。
: :immediate
すぐに割り込みます。
: :on_block... -
Thread
# report _ on _ exception -> bool (73.0) -
真の場合、そのスレッドが例外によって終了した時に、その内容を $stderr に報告します。
真の場合、そのスレッドが例外によって終了した時に、その内容を $stderr に報告します。
デフォルトはスレッド作成時の Thread.report_on_exception です。
@param newstate スレッド実行中に例外発生した場合、その内容を報告するかどうかを true か false で指定します。
//emlist[例][ruby]{
a = Thread.new{ Thread.stop; raise }
a.report_on_exception = true
a.report_on_exception # => true
a.run
# => #<Th... -
Thread
# report _ on _ exception=(newstate) (73.0) -
真の場合、そのスレッドが例外によって終了した時に、その内容を $stderr に報告します。
真の場合、そのスレッドが例外によって終了した時に、その内容を $stderr に報告します。
デフォルトはスレッド作成時の Thread.report_on_exception です。
@param newstate スレッド実行中に例外発生した場合、その内容を報告するかどうかを true か false で指定します。
//emlist[例][ruby]{
a = Thread.new{ Thread.stop; raise }
a.report_on_exception = true
a.report_on_exception # => true
a.run
# => #<Th... -
ruby 1
. 8 . 3 feature (73.0) -
ruby 1.8.3 feature *((<ruby 1.8 feature>)) *((<ruby 1.8.2 feature>))
ruby 1.8.3 feature
*((<ruby 1.8 feature>))
*((<ruby 1.8.2 feature>))
ruby 1.8.2 から ruby 1.8.3 までの変更点です。
掲載方針
*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。
以下は各変更点に付けるべきタグです。
記号について(特に重要なものは大文字(主観))
* カテゴリ
* [ruby]: ruby インタプリタの変更
* [api]: 拡張ライブラリ API
* [lib]: ... -
Profiler
_ _ . # print _ profile(file) -> () (67.0) -
stop_profile を実行し、プロファイルの結果を file に出力します。 file には printf メソッドが定義されていなければいけません。
stop_profile を実行し、プロファイルの結果を file に出力します。
file には printf メソッドが定義されていなければいけません。
@param file File のインスタンスを指定します。 -
RDoc
:: CodeObject # start _ doc -> () (67.0) -
以降に解析したコメントを RDoc::CodeObject#stop_doc を呼び出すまで の間、ドキュメントに含めます。
以降に解析したコメントを RDoc::CodeObject#stop_doc を呼び出すまで
の間、ドキュメントに含めます。
:startdoc: を見つけた時に呼び出されます。
RDoc::CodeObject#document_self と
RDoc::CodeObject#document_children を true に設定します。
@see RDoc::CodeObject#end_doc -
Thread
# status -> String | false | nil (55.0) -
生きているスレッドの状態を文字列 "run"、"sleep", "aborting" のいず れかで返します。正常終了したスレッドに対して false、例外によ り終了したスレッドに対して nil を返します。
生きているスレッドの状態を文字列 "run"、"sleep", "aborting" のいず
れかで返します。正常終了したスレッドに対して false、例外によ
り終了したスレッドに対して nil を返します。
Thread#alive? が真を返すなら、このメソッドも真です。
例:
a = Thread.new { raise("die now") }
b = Thread.new { Thread.stop }
c = Thread.new { Thread.exit }
d = Thread.new { sleep }
d.kill ... -
Time
# strftime(format) -> String (55.0) -
時刻を format 文字列に従って文字列に変換した結果を返します。
時刻を format 文字列に従って文字列に変換した結果を返します。
@param format フォーマット文字列を指定します。使用できるものは 以下の通りです。
* %A: 曜日の名称(Sunday, Monday ... )
* %a: 曜日の省略名(Sun, Mon ... )
* %B: 月の名称(January, February ... )
* %b: 月の省略名(Jan, Feb ... )
* %C: 世紀 (2009年であれば 20)
* %c: 日付と時刻 (%a %b %e %T %Y)
* %D: 日付 (%m/%d/%y)
* ... -
DRb
. # primary _ server -> DRb :: DRbServer|nil (37.0) -
ローカルプロセスのプライマリサーバーを返します。
ローカルプロセスのプライマリサーバーを返します。
プライマリサーバとは DRb.#start_service によって
起動されるサーバです。
サーバが動いていない場合は nil を返します。
@see DRb.#stop_service -
DRb
:: DRbServer # alive? -> bool (37.0) -
サーバが生存しているならば真を返します。
サーバが生存しているならば真を返します。
@see DRb::DRbServer#stop_service -
DRb
:: ExtServManager # service(name) -> DRb :: ExtServ (37.0) -
name で指定したサービスに関連付けられた DRb::ExtServ オブジェクトを返します。
name で指定したサービスに関連付けられた DRb::ExtServ
オブジェクトを返します。
サービスを提供するプロセスが起動していない場合は、DRb::ExtServManager.command
で指定したプロセスを起動し、そのプロセスが DRb::ExtServ オブジェクトが
DRb::ExtServ.new によって ExtServManager に登録されるのを待ちます。
その後、登録されたオブジェクトを返します。
すでにプロセスが起動していた場合は、登録されている DRb::ExtServ オブジェクトを
返します。
DRb::ExtServ#stop_servic... -
ObjectSpace
. # trace _ object _ allocations _ start -> nil (37.0) -
オブジェクト割り当てのトレースを開始します。
オブジェクト割り当てのトレースを開始します。
@see ObjectSpace.#trace_object_allocations_stop -
Thread (37.0)
-
スレッドを表すクラスです。スレッドとはメモリ空間を共有して同時に実行される制御の流れです。 Thread を使うことで並行プログラミングが可能になります。
スレッドを表すクラスです。スレッドとはメモリ空間を共有して同時に実行される制御の流れです。
Thread を使うことで並行プログラミングが可能になります。
=== 実装
ネイティブスレッドを用いて実装されていますが、
現在の実装では Ruby VM は Giant VM lock (GVL) を有しており、同時に実行される
ネイティブスレッドは常にひとつです。
ただし、IO 関連のブロックする可能性があるシステムコールを行う場合には
GVL を解放します。その場合にはスレッドは同時に実行され得ます。
また拡張ライブラリから GVL を操作できるので、複数のスレッドを
同時に実行するような拡... -
Thread
# alive? -> bool (37.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? -
スレッド (37.0)
-
スレッド スレッドとはメモリ空間を共有して同時に実行される制御の流れです。 Ruby ではスレッドはThread クラスのインスタンスとして表されます。
スレッド
スレッドとはメモリ空間を共有して同時に実行される制御の流れです。
Ruby ではスレッドはThread クラスのインスタンスとして表されます。
=== 実装
ネイティブスレッドを用いて実装されていますが、
現在の実装では Ruby VM は Giant VM lock (GVL) を有しており、同時に実行される
ネイティブスレッドは常にひとつです。
ただし、IO 関連のブロックする可能性があるシステムコールを行う場合には
GVL を解放します。その場合にはスレッドは同時に実行され得ます。
また拡張ライブラリから GVL を操作できるので、複数のスレッドを
同時に実行するような拡...