るりまサーチ

最速Rubyリファレンスマニュアル検索!
108件ヒット [1-100件を表示] (0.012秒)
トップページ > クエリ:lock[x] > クエリ:shift[x]

別のキーワード

  1. mutex_m lock
  2. mutex_m mu_lock
  3. net/http lock
  4. mutex_m try_lock
  5. mutex_m mu_try_lock

ライブラリ

クラス

キーワード

検索結果

<< 1 2 > >>

Thread::Queue#shift(non_block = false) -> object (15201.0)

キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。

...キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。

@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。

//emlist[例][ruby]{
require 'thread'

q = Queue.new

th1 = Thread.star...
...e resource = q.pop
puts resource
end
end

[:resource1, :resource2, :resource3, nil].each { |r|
q.push(r)
}

th1.join
//}

//emlist[例: nonblock = true][ruby]{
require 'thread'

q = Queue.new

th1 = Thread.start do
while resource = q.pop
puts resource
end
end

[:resource1, :resource2...

Thread::SizedQueue#shift(non_block = false) -> object (15201.0)

キューからひとつ値を取り出します。 キューに push しようと待っているスレッドがあれば、実行を再開させます。

...つ値を取り出します。
キューに push しようと待っているスレッドがあれば、実行を再開させます。

@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。

//emlist[例][ruby]{
require 'thread'

q = SizedQueue.new(4...
...end
end

[:resource1, :resource2, :resource3, nil].each{|r|
q.push(r)
}

th1.join
# => resource1
# resource2
# resource3
//}

//emlist[例: nonblock = true][ruby]{
require 'thread'

q = SizedQueue.new(4)

th1 = Thread.start do
while resource = q.pop
puts resource
end
end

[:resource1, :r...

Thread::Queue#deq(non_block = false) -> object (101.0)

キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。

...キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。

@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。

//emlist[例][ruby]{
require 'thread'

q = Queue.new

th1 = Thread.star...
...e resource = q.pop
puts resource
end
end

[:resource1, :resource2, :resource3, nil].each { |r|
q.push(r)
}

th1.join
//}

//emlist[例: nonblock = true][ruby]{
require 'thread'

q = Queue.new

th1 = Thread.start do
while resource = q.pop
puts resource
end
end

[:resource1, :resource2...

Thread::Queue#pop(non_block = false) -> object (101.0)

キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。

...キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。

@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。

//emlist[例][ruby]{
require 'thread'

q = Queue.new

th1 = Thread.star...
...e resource = q.pop
puts resource
end
end

[:resource1, :resource2, :resource3, nil].each { |r|
q.push(r)
}

th1.join
//}

//emlist[例: nonblock = true][ruby]{
require 'thread'

q = Queue.new

th1 = Thread.start do
while resource = q.pop
puts resource
end
end

[:resource1, :resource2...

Thread::SizedQueue#deq(non_block = false) -> object (101.0)

キューからひとつ値を取り出します。 キューに push しようと待っているスレッドがあれば、実行を再開させます。

...つ値を取り出します。
キューに push しようと待っているスレッドがあれば、実行を再開させます。

@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。

//emlist[例][ruby]{
require 'thread'

q = SizedQueue.new(4...
...end
end

[:resource1, :resource2, :resource3, nil].each{|r|
q.push(r)
}

th1.join
# => resource1
# resource2
# resource3
//}

//emlist[例: nonblock = true][ruby]{
require 'thread'

q = SizedQueue.new(4)

th1 = Thread.start do
while resource = q.pop
puts resource
end
end

[:resource1, :r...

絞り込み条件を変える

Thread::SizedQueue#pop(non_block = false) -> object (101.0)

キューからひとつ値を取り出します。 キューに push しようと待っているスレッドがあれば、実行を再開させます。

...つ値を取り出します。
キューに push しようと待っているスレッドがあれば、実行を再開させます。

@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。

//emlist[例][ruby]{
require 'thread'

q = SizedQueue.new(4...
...end
end

[:resource1, :resource2, :resource3, nil].each{|r|
q.push(r)
}

th1.join
# => resource1
# resource2
# resource3
//}

//emlist[例: nonblock = true][ruby]{
require 'thread'

q = SizedQueue.new(4)

th1 = Thread.start do
while resource = q.pop
puts resource
end
end

[:resource1, :r...

Monitor (22.0)

スレッドの同期機構としてのモニター機能を提供するクラスです。 また同じスレッドから何度も lock できる Mutex としての機能も提供します。

...スレッドの同期機構としてのモニター機能を提供するクラスです。
また同じスレッドから何度も lock できる Mutex としての機能も提供します。

MonitorMixin を include し、いくつかの別名を定義したクラスです。

=== 例

//emlist[...
...w
empty_cond = mon.new_cond

# consumer
Thread.start do
loop do
mon.synchronize do
empty_cond.wait_while { buf.empty? }
print buf.shift
end
end
end

# producer
while line = ARGF.gets
mon.synchronize do
buf.push(line)
empty_cond.signal
end
end
//}

2回ロックし...
...'monitor'
mon = Monitor.new
mon.synchronize {
mon.synchronize {
}
}
//}

Thread::Mutex ではデッドロックになります。

//emlist[Mutex でデッドロックになる例][ruby]{
mx = Mutex.new
mx.synchronize {
mx.synchronize {
}
}
# => deadlock; recursive locking (ThreadError)
//}...

Ruby用語集 (12.0)

Ruby用語集 A B C D E F G I J M N O R S Y

...ライブラリー

: Bundler
特定の Ruby アプリケーションで使用する gem とそのバージョンを Gemfile
および Gemfile.lock という
ファイルで管理するツール。gem を新規作成するときの雛形を生成する機能もある。
コマンド名は bu...
...うにバイト列で表現するか、という方法のこと。
たとえばおなじ「あ」という文字でも、UTF-8 と UTF-16LE と Shift_JIS と
では全く異なるバイト列になる。これがエンコーディングの違いである。

Ruby の文字列オブジェクト...
...クト指向プログラミングのパラダイムをよりどころとしている。

: 番号指定ブロックパラメーター
: numbered block parameter
Ruby 2.7 で導入されたブロックパラメーターの記法。
ブロックパラメーターの宣言をせずに _1、_2 な...

ruby 1.6 feature (12.0)

ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。

...(2002-12-24) -> stable-snapshot

: 2003-01-22: errno

EAGAIN と EWOULDBLOCK が同じ値のシステムで、EWOULDBLOCK がなくなっ
ていました。現在は、このようなシステムでは、EWOULDBLOCK は、EAGAIN
として定義されています。(これは 1.6.7 と...
...uby 1.6.7 (2002-03-01) [i586-linux]
Errno::EAGAIN
Errno::EWOULDBLOCK

=> ruby 1.6.8 (2002-12-24) [i586-linux]
Errno::EAGAIN
-:2: uninitialized constant EWOULDBLOCK at Errno (NameError)

=> ruby 1.6.8 (2003-02-13) [i586-linux]
Err...
...ruby 1.6.8 (2002-10-04) [i586-linux]
""
=> -:1: parse error
ruby 1.7.3 (2002-10-04) [i586-linux]

: SizedQueue#deq, #shift
: SizedQueue#enq

追加(push, pop の別名)。これらが定義されていなかったため、enq などを
呼び出したときスー...
<< 1 2 > >>