ライブラリ
- ビルトイン (213)
クラス
- Dir (11)
- File (21)
-
File
:: Stat (11) - IO (121)
-
Thread
:: Queue (18) -
Thread
:: SizedQueue (9) - ThreadGroup (22)
検索結果
先頭5件
-
Thread
:: Queue # close -> self (26170.0) -
キューを close します。close 済みのキューを再度 open することはできません。
...キューを close します。close 済みのキューを再度 open することはできません。
close 後は以下のように動作します。
* Thread::Queue#closed? は true を返します
* Thread::Queue#close は無視されます
* Thread::Queue#enq/push/<< は ClosedQueueError......オブジェクトを返します
また、ClosedQueueError は StopIteration を継承しているため、
close する事でループから脱出する事もできます。
例:
q = Queue.new
Thread.new{
while e = q.deq # wait for nil to break loop
# ...
end
}
q.close... -
Thread
:: SizedQueue # close -> self (26152.0) -
キューを close します。詳しくは Thread::Queue#close を参照してください。
...ーを close します。詳しくは Thread::Queue#close を参照してください。
Thread::Queue とはキューにオブジェクトを追加するスレッドの動作が
異なります。キューにオブジェクトを追加するスレッドを待機している場合は
ClosedQueueErr......or が発生して中断されます。
//emlist[例][ruby]{
q = SizedQueue.new(4)
[:resource1, :resource2, :resource3, nil].each { |r| q.push(r) }
q.closed? # => false
q.close
q.closed? # => true
//}
@see Thread::Queue#close... -
Dir
# close -> nil (26126.0) -
ディレクトリストリームをクローズします。 以降のディレクトリに対する操作は例外 IOError を発生させます。 クローズに成功すれば nil を返します。
...る操作は例外 IOError を発生させます。
クローズに成功すれば nil を返します。
//emlist[例][ruby]{
d = Dir.new(".")
d.close # => nil
//}
@raise IOError close に失敗した場合に発生します。また既に自身が close している場合に発生します。......ディレクトリストリームをクローズします。
クローズに成功すれば nil を返します。
//emlist[例][ruby]{
d = Dir.new(".")
d.close # => nil
//}... -
IO
# closed? -> bool (14143.0) -
self が完全に(読み込み用と書き込み用の両方が)クローズされている場合に true を返します。 そうでない場合は false を返します。
...例][ruby]{
IO.write("testfile", "test")
f = File.new("testfile")
f.close # => nil
f.closed? # => true
f = IO.popen("/bin/sh","r+")
f.close_write # => nil
f.closed? # => false
f.close_read # => nil
f.closed? # => true
//}
@see IO#close, IO#close_read, IO#close_write... -
ThreadGroup
# enclose -> self (14137.0) -
自身への ThreadGroup#add によるスレッドの追加・削除を禁止します。 enclose された ThreadGroup に追加や削除を行うと例外 ThreadError が発生します。
...るスレッドの追加・削除を禁止します。
enclose された ThreadGroup に追加や削除を行うと例外 ThreadError が発生します。
ただし、Thread.new によるスレッドの追加は禁止されません。enclose されたスレッドグループ A に
属するスレ......p.new.enclose
thg.add Thread.new {}
=> -:2:in `add': can't move to the enclosed thread group (ThreadError)
削除の例:
thg1 = ThreadGroup.new
thg2 = ThreadGroup.new
th = Thread.new {sleep 1}
thg1.add th
thg1.enclose
thg2.add th
=> -:8:in `add': can't move from the enclosed... -
Thread
:: Queue # closed? -> bool (14129.0) -
キューが close されている時に true を返します。
...キューが close されている時に true を返します。
//emlist[例][ruby]{
q = Queue.new
[:resource1, :resource2, :resource3, nil].each { |r| q.push(r) }
q.closed? # => false
q.close
q.closed? # => true
//}... -
ThreadGroup
# enclosed? -> bool (14113.0) -
自身が enclose されているなら true を返します。そうでないなら false を返します。デフォルトは false です。
...nclose されているなら true を返します。そうでないなら false を返します。デフォルトは false です。
freeze された ThreadGroup には Thread の追加/削除ができませんが、enclosed? は false を返します。
thg = ThreadGroup.new
p thg.enclose......d? # => false
thg.enclose
p thg.enclosed? # => true
thg = ThreadGroup.new
p thg.enclosed? # => false
thg.freeze
p thg.enclosed? # => false
@see ThreadGroup#enclose... -
IO
# sync=(newstate) (8107.0) -
自身を同期モードに設定すると、出力関数の呼出毎にバッファがフラッシュされます。
...自身を同期モードに設定すると、出力関数の呼出毎にバッファがフラッシュされます。
@param newstate 自身を同期モードに設定するかを boolean で指定します。
@raise IOError 既に close されていた場合に発生します。
@see IO#sync... -
IO
# eof -> bool (8031.0) -
ストリームがファイルの終端に達した場合、true を返します。そうでない場合、false を返します。
...。
f = File.new("testfile")
dummy = f.readlines
f.eof #=> true
自身がパイプやソケットなどのストリームであった場合、相手がデータを送るか close するまでブロックします。
r, w = IO.pipe
Thread.new { sleep 10; w.close }
r.eof? #=> 1......0秒ブロックしてから true を返す。
r, w = IO.pipe
Thread.new { sleep 10; w.puts "a" }
r.eof? #=> 10秒ブロックしてから false を返す。
r, w = IO.pipe
r.eof? # 永久にブロックします。
eof, eof? は入力バッファにデータを読み込むので... -
IO
# eof? -> bool (8031.0) -
ストリームがファイルの終端に達した場合、true を返します。そうでない場合、false を返します。
...。
f = File.new("testfile")
dummy = f.readlines
f.eof #=> true
自身がパイプやソケットなどのストリームであった場合、相手がデータを送るか close するまでブロックします。
r, w = IO.pipe
Thread.new { sleep 10; w.close }
r.eof? #=> 1......0秒ブロックしてから true を返す。
r, w = IO.pipe
Thread.new { sleep 10; w.puts "a" }
r.eof? #=> 10秒ブロックしてから false を返す。
r, w = IO.pipe
r.eof? # 永久にブロックします。
eof, eof? は入力バッファにデータを読み込むので...