クラス
- Exception (12)
- Fiber (24)
- IO (120)
- Monitor (18)
- Mutex (6)
- Thread (186)
-
Thread
:: Mutex (40) - ThreadGroup (12)
- ThreadsWait (6)
- TracePoint (12)
モジュール
- Marshal (24)
- ObjectSpace (12)
- Process (24)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) - Fiber (12)
-
NEWS for Ruby 2
. 0 . 0 (12) -
NEWS for Ruby 2
. 5 . 0 (8) -
NEWS for Ruby 2
. 7 . 0 (6) -
NEWS for Ruby 3
. 0 . 0 (5) - Thread (12)
- add (12)
-
backtrace
_ locations (12) -
clock
_ gettime (12) -
count
_ tdata _ objects (12) - detach (12)
- dump (24)
- eof (12)
- eof? (12)
- exit (12)
- fetch (8)
- fork (12)
-
handle
_ interrupt (12) - join (24)
- lock (12)
-
mon
_ exit (6) - name= (10)
- new (24)
-
next
_ wait (6) -
pending
_ interrupt? (12) - pipe (96)
- raise (12)
-
rb
_ thread _ raise (12) -
rb
_ thread _ raise _ m (12) -
rb
_ thread _ signal _ raise (12) -
report
_ on _ exception (18) -
report
_ on _ exception= (18) - resume (12)
-
rinda
/ rinda (12) -
ruby 1
. 6 feature (12) -
ruby 1
. 8 . 4 feature (12) - run (12)
- sleep (12)
- start (12)
- status (12)
- synchronize (10)
- transfer (12)
- unlock (12)
- wakeup (12)
- スレッド (12)
検索結果
先頭5件
-
IO
. pipe(ext _ enc , int _ enc , **opts) {|read _ io , write _ io| . . . } -> object (12.0) -
pipe(2) を実行して、相互につながった2つの IO オブジェクトを要素とする配列を返します。
...グなどを設定するキーワード引数(see IO.new)
@raise Errno::EXXX IO オブジェクトの作成に失敗した場合に発生します。
r, w = IO.pipe
p [r, w] # => [#<IO:0x401b90f8>, #<IO:0x401b7718>]
Thread.new do
w.puts "foo"
w.close
end
p r.gets... -
Monitor
# exit -> () (12.0) -
MonitorMixin#mon_exit の別名です。
...ドが一つ実行を再開します。
@raise ThreadError ロックを持っていないスレッドが呼びだした場合に発生します
//emlist[例][ruby]{
require 'monitor'
mon = Monitor.new
mon.enter
mon.enter
mon.exit
mon.exit
mon.exit # => current thread not owner (ThreadError)
//}... -
Monitor
# mon _ exit -> () (12.0) -
モニターのロックを解放します。
...ドが一つ実行を再開します。
@raise ThreadError ロックを持っていないスレッドが呼びだした場合に発生します
//emlist[例][ruby]{
require 'monitor'
mon = Monitor.new
mon.enter
mon.enter
mon.exit
mon.exit
mon.exit # => current thread not owner (ThreadError)
//}... -
Mutex
# lock -> self (12.0) -
mutex オブジェクトをロックします。一度に一つのス レッドだけが mutex をロックできます。既にロックされている mutex に対してロックを行おうとしたスレッドは mutex のロックが解放さ れるまで、実行が停止されます。
...ます。
@raise ThreadError self 既にカレントスレッドにロックされている場合に発
生します。
また、Signal.#trap に指定したハンドラ内で実行
した場合に発生します。
@see Thread::Mutex#unloc... -
Mutex
# sleep(timeout = nil) -> Integer (12.0) -
与えられた秒数の間ロックを解除してスリープして、実行後にまたロックします。
...プする秒数を指定します。省略するとスリープし続けます。
@return スリープしていた秒数を返します。
@raise ThreadError 自身がカレントスレッドによってロックされていない場合に発生します。
[注意] 2.0 以降ではスリープ......グナルを受信した場合などに実行が再
開(spurious wakeup)される場合がある点に注意してください。
//emlist[例][ruby]{
m = Mutex.new
th = Thread.new do
m.lock
m.sleep(2)
end
th.status # => "run"
sleep 1
th.status # => "sleep"
sleep 1
th.status # => false
//}... -
Mutex
# unlock -> self (12.0) -
mutex のロックを解放します。mutex のロック待ちになっていたスレッドの実行は再開されます。
...は出来ません。
ロックしたスレッド以外から unlock が呼ばれると ThreadError が発生します。
m = Mutex.new
m.lock
Thread.new do
m.unlock # => ThreadError
end.join
@raise ThreadError self がロックされていない場合や self をロックしたス... -
ObjectSpace
. # count _ tdata _ objects(result _ hash = nil) -> Hash (12.0) -
T_DATA の種類ごとにオブジェクトの数を格納したハッシュを返します。
...作成します。result_hash の内容は上書き
されます。プローブ効果を避けるために使用します。
@raise TypeError result_hash にハッシュ以外を指定した時に発生します。
本メソッドは普通の Ruby プログラマ向けのメソ......> {RubyVM::InstructionSequence=>504, :parser=>5, :barrier=>6,
# :mutex=>6, Proc=>60, RubyVM::Env=>57, Mutex=>1, Encoding=>99,
# ThreadGroup=>1, Binding=>1, Thread=>1, RubyVM=>1, :iseq=>1,
# Random=>1, ARGF.class=>1, Data=>1, :autoload=>3, Time=>2}
//}
現在のバージョンでは、...