るりまサーチ

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

別のキーワード

  1. mutex_m synchronize
  2. mutex_m mu_synchronize
  3. mutex_m lock
  4. mutex_m mu_lock
  5. mutex_m unlock

ライブラリ

モジュール

検索結果

<< 1 2 > >>

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

mutex をロックし、ブロックを実行します。実行後に必ず 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"
//}...

Mutex (38054.0)

Mutex(Mutal Exclusion = 相互排他ロック)は共有データを並行アクセスから保護する ためにあります。Mutex の典型的な使い方は(m を Mutex オブジェクトとします):

...Mutex(Mutal Exclusion = 相互排他ロック)は共有データを並行アクセスから保護する
ためにあります。Mutex の典型的な使い方は(m を Mutex オブジェクトとします):

m.lock
begin
# m によって保護されたクリティカルセクション
ensu...
...re
m.unlock
end

または、より簡単に

m.synchronize {
# m によって保護されたクリティカルセクション
}...

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

mutex をロックし、ブロックを実行します。実行後に必ず 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"
//}...

PStore::DummyMutex#synchronize { ... } -> object (24101.0)

与えられたブロックを評価するだけで何もしません。

与えられたブロックを評価するだけで何もしません。

Mutex_m#synchronize { ... } -> object (21102.0)

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

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

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

絞り込み条件を変える

Thread::Mutex (18054.0)

Mutex(Mutal Exclusion = 相互排他ロック)は共有データを並行アクセスから保護する ためにあります。Mutex の典型的な使い方は(m を Mutex オブジェクトとします):

...Mutex(Mutal Exclusion = 相互排他ロック)は共有データを並行アクセスから保護する
ためにあります。Mutex の典型的な使い方は(m を Mutex オブジェクトとします):

m.lock
begin
# m によって保護されたクリティカルセクション
ensu...
...re
m.unlock
end

または、より簡単に

m.synchronize {
# m によって保護されたクリティカルセクション
}...

Mutex_m#mu_synchronize { ... } -> object (9102.0)

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

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

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

Shell.debug_output_synchronize (6119.0)

@todo

...@todo

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

@see Thread::Mutex#synchronize...

Mutex_m (6114.0)

スレッド同期機構である Thread::Mutex のモジュール版です。クラスに Module#include することでそのクラスに Mutex 機能を持たせることができます。 また、普通のオブジェクトを Object#extend により Mutex にする事ができます。

...スレッド同期機構である Mutex のモジュール版です。クラスに
Module#include することでそのクラスに Mutex 機能を持たせることができます。
また、普通のオブジェクトを Object#extend により Mutex にする事ができます。

このモジ...
...ないメソッド(Mutex_m#lock, Mutex_m#synchronize,
Mutex
_m#locked?, Mutex_m#try_lock, Mutex_m#unlock)
はモジュールにincludeした場合には定義されません。

1991

=== 例
クラスに Module#include する例
require "mutex_m"
class Foo
include Mutex_m
...
end
ob...
...j = Foo.new
obj.synchronize do
# 危険領域(critical section)
...
end

オブジェクトに Object#extend する例
require "mutex_m"
obj = Object.new
obj.extend(Mutex_m)
obj.lock
# 危険領域(critical section)
...
obj.unlock...
...レッド同期機構である Thread::Mutex のモジュール版です。クラスに
Module#include することでそのクラスに Mutex 機能を持たせることができます。
また、普通のオブジェクトを Object#extend により Mutex にする事ができます。

このモ...

NEWS for Ruby 2.0.0 (108.0)

NEWS for Ruby 2.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

...bject.const_get("Foo::Bar::Baz")
//}

* Mutex
* 追加(実験的): Mutex#owned? mutex が現在のスレッドに所持されているかどうかを返します
* 非互換:
* Mutex#lock, Mutex#unlock, Mutex#try_lock, Mutex#synchronize, Mutex#sleep
はトラップハンド...
...ラの中では使えなくなりました。そのようなときは ThreadError が発生します
* Mutex#sleep may spurious wakeup. Check after wakeup.

* NilClass
* 追加: NilClass#to_h 空のハッシュを返します

* ObjectSpace::WeakMap
* 弱い参照を保持するた...
..._clone, Object#initialize_dup
* private になりました

* Thread#join, Thread#value
* 上を参照

* Mutex#lock, Mutex#unlock, Mutex#try_lock, Mutex#synchronize, Mutex#sleep
* 上を参照

=== 標準添付ライブラリの更新 (優れたもののみ)

* cgi
* HTML5 用...

絞り込み条件を変える

Thread::ConditionVariable (90.0)

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

...す。

mutex
= Mutex.new
cv = ConditionVariable.new

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

b = Thread.start {
mutex
.synchronize {...
...@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)...

Monitor (70.0)

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

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

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

=== 例

//emlist[...
...ew
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回ロック...
...uby]{
require 'monitor'
mon = Monitor.new
mon.synchronize {
mon.synchronize {
}
}
//}

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

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