るりまサーチ

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

別のキーワード

  1. mutex_m synchronize
  2. mutex_m mu_synchronize
  3. monitor synchronize
  4. monitor mon_synchronize
  5. pstore synchronize

検索結果

<< 1 2 > >>

Mutex#synchronize { ... } -> object (18113.0)

mutex をロックし、ブロックを実行します。実行後に必ず mutex のロックを解放します。

...ロックを実行します。実行後に必ず mutex のロックを解放します。

ブロックが最後に評価した値を返します。

@
raise ThreadError self 既にカレントスレッドにロックされている場合に発
生します。
...
...た、Signal.#trap に指定したハンドラ内で実行
した場合に発生します。

//emlist[例][ruby]{
m = Mutex.new
result = m.synchronize do
m.locked? # => true
# critical part
"result"
end
m.locked? # => false
result # => "result"
//}...

Thread::Mutex#synchronize { ... } -> object (18113.0)

mutex をロックし、ブロックを実行します。実行後に必ず mutex のロックを解放します。

...ロックを実行します。実行後に必ず mutex のロックを解放します。

ブロックが最後に評価した値を返します。

@
raise ThreadError self 既にカレントスレッドにロックされている場合に発
生します。
...
...た、Signal.#trap に指定したハンドラ内で実行
した場合に発生します。

//emlist[例][ruby]{
m = Mutex.new
result = m.synchronize do
m.locked? # => true
# critical part
"result"
end
m.locked? # => false
result # => "result"
//}...

Monitor#synchronize { ... } -> object (18108.0)

モニターをロックし、ブロックを実行します。実行後に必ずモニターのロックを解放します。

...モニターをロックし、ブロックを実行します。実行後に必ずモニターのロックを解放します。

ブロックの評価値を返り値として返します。

@
see Monitor#enter...

MonitorMixin#synchronize { ... } -> object (18108.0)

モニターをロックし、ブロックを実行します。実行後に必ずモニターのロックを解放します。

...モニターをロックし、ブロックを実行します。実行後に必ずモニターのロックを解放します。

ブロックの評価値を返り値として返します。

@
see MonitorMixin#mon_enter...

Sync_m#synchronize(mode = EX) {...} -> object (18108.0)

ロック状態を変更してブロックを実行します。 ブロックの実行結果を返します。

...ロック状態を変更してブロックを実行します。
ブロックの実行結果を返します。

@
param mode 変更後の状態を指定します。
通常、 Sync_m::UN, Sync_m::EX, Sync_m::SH のどれかを指定します。...

絞り込み条件を変える

Shell.debug_output_synchronize (6129.0)

@todo

...@todo

@
see Mutex#synchronize...
...@todo

@
see Thread::Mutex#synchronize...

Shell::ProcessController.block_output_synchronize { ... } -> () (6117.0)

@todo

...@todo...

Monitor#mon_synchronize { ... } -> object (6108.0)

モニターをロックし、ブロックを実行します。実行後に必ずモニターのロックを解放します。

...モニターをロックし、ブロックを実行します。実行後に必ずモニターのロックを解放します。

ブロックの評価値を返り値として返します。

@
see Monitor#enter...

MonitorMixin#mon_synchronize { ... } -> object (6108.0)

モニターをロックし、ブロックを実行します。実行後に必ずモニターのロックを解放します。

...モニターをロックし、ブロックを実行します。実行後に必ずモニターのロックを解放します。

ブロックの評価値を返り値として返します。

@
see MonitorMixin#mon_enter...

Sync_m#sync_synchronize(mode = EX) {...} -> object (6108.0)

ロック状態を変更してブロックを実行します。 ブロックの実行結果を返します。

...ロック状態を変更してブロックを実行します。
ブロックの実行結果を返します。

@
param mode 変更後の状態を指定します。
通常、 Sync_m::UN, Sync_m::EX, Sync_m::SH のどれかを指定します。...

絞り込み条件を変える

Thread::ConditionVariable (114.0)

スレッドの同期機構の一つである状態変数を実現するクラスです。

...onVariable.new

a = Thread.start {
mutex.synchronize {
...
while (条件が満たされない)
cv.wait(mutex)
end
...
}
}

b = Thread.start {
mutex.synchronize {
# 上の条件を満たすための操...
...@q が空になった場合、
あるいは満タンになった場合に Condition Variable を使って wait しています。

require 'thread'

class TinyQueue
def initialize(max=2)
@
max = max
@
full = ConditionVariable.new
@
empty = ConditionVariable.new
@
mutex...
...= Mutex.new
@
q = []
end

def count
@
q.size
end

def enq(v)
@
mutex.synchronize{
@
full.wait(@mutex) if count == @max
@
q.push v
@
empty.signal if count == 1
}
end

def deq
@
mutex.synchronize{
@
empty.wait(@mutex) if co...

MonitorMixin (30.0)

スレッドの同期機構としてのモニター機能を提供するモジュールです。

...を追加
empty_cond = buf.new_cond # 配列が空であるかないかを通知する条件変数

# consumer
Thread.start do
loop do
buf.synchronize do # ロックする
empty_cond.wait_while { buf.empty? } # 配列が空である間はロックを開放して待つ
print buf.shi...
...でなくなった後ロックを取得してこの行を実行
end # ロックを開放
end
end

# producer
while line = ARGF.gets
buf.synchronize do # ロックする
buf.push(line) # 配列を変更(追加)
empty_cond.signal # 配列に要素が追加されたことを条件変数...
...必要があります。

//emlist[include する例][ruby]{
require 'monitor'

class MyObject
include MonitorMixin

def initialize(val)
super()
@
value = val
end

def to_s
synchronize
{
@
value.to_s
}
end
end
//}

以下も参考になります。

* 9384
* 9386...

Thread::ConditionVariable#broadcast -> self (18.0)

状態変数を待っているスレッドをすべて再開します。再開された スレッドは Thread::ConditionVariable#wait で指定した mutex のロックを試みます。

...Variable#wait
で指定した mutex のロックを試みます。

@
return 常に self を返します。

//emlist[例][ruby]{
mutex = Mutex.new
cv = ConditionVariable.new
flg = true

3.times {
Thread.start {
mutex.synchronize {
puts "a1"
while (flg)
cv.wait(mutex)...
<< 1 2 > >>