ライブラリ
クラス
- Monitor (16)
- Mutex (16)
- PStore (11)
-
PStore
:: DummyMutex (11) - Shell (33)
- Thread (16)
-
Thread
:: ConditionVariable (33) -
Thread
:: Mutex (72) - Tracer (11)
モジュール
- MonitorMixin (11)
-
Mutex
_ m (154) - ObjectSpace (11)
キーワード
- ConditionVariable (11)
- DummyMutex (11)
- LogDeviceMutex (2)
-
MUTEX
_ FOR _ THREAD _ EXCLUSIVE (5) - Monitor (11)
-
Mutex
_ m (11) -
NEWS for Ruby 2
. 0 . 0 (11) -
NEWS for Ruby 2
. 1 . 0 (11) -
NEWS for Ruby 2
. 5 . 0 (7) -
NEWS for Ruby 2
. 6 . 0 (6) -
NEWS for Ruby 3
. 0 . 0 (4) -
append
_ features (11) - broadcast (11)
-
count
_ tdata _ objects (11) -
debug
_ output _ exclusive _ unlock (3) -
debug
_ output _ lock (6) -
debug
_ output _ locked? (6) -
debug
_ output _ synchronize (6) -
debug
_ output _ try _ lock (6) -
debug
_ output _ unlock (6) -
define
_ aliases (11) - enter (11)
- exclusive (11)
-
extend
_ object (11) - lock (22)
- locked? (22)
-
mon
_ enter (16) - monitor (11)
-
mu
_ extended (11) -
mu
_ lock (11) -
mu
_ locked? (11) -
mu
_ synchronize (11) -
mu
_ try _ lock (11) -
mu
_ unlock (11) -
mutex
_ m (11) - new (22)
- owned? (11)
-
ruby 1
. 6 feature (11) - signal (11)
- sleep (11)
-
stdout
_ mutex (11) - synchronize (33)
-
try
_ lock (22) - unlock (22)
- wait (11)
検索結果
先頭5件
-
Mutex (38048.0)
-
Mutex(Mutal Exclusion = 相互排他ロック)は共有データを並行アクセスから保護する ためにあります。Mutex の典型的な使い方は(m を Mutex オブジェクトとします):
...Mutex(Mutal Exclusion = 相互排他ロック)は共有データを並行アクセスから保護する
ためにあります。Mutex の典型的な使い方は(m を Mutex オブジェクトとします):
m.lock
begin
# m によって保護されたクリティカルセクション
ensu......Alias of Thread::Mutex... -
Mutex
. new -> Thread :: Mutex (21117.0) -
新しい mutex を生成して返します。
...新しい mutex を生成して返します。... -
Mutex
# lock -> self (21070.0) -
mutex オブジェクトをロックします。一度に一つのス レッドだけが mutex をロックできます。既にロックされている mutex に対してロックを行おうとしたスレッドは mutex のロックが解放さ れるまで、実行が停止されます。
...mutex オブジェクトをロックします。一度に一つのス
レッドだけが mutex をロックできます。既にロックされている mutex
に対してロックを行おうとしたスレッドは mutex のロックが解放さ
れるまで、実行が停止されます。
@rais......e ThreadError self 既にカレントスレッドにロックされている場合に発
生します。
また、Signal.#trap に指定したハンドラ内で実行
した場合に発生します。
@see Thread::Mutex#unlock... -
Mutex
# unlock -> self (21050.0) -
mutex のロックを解放します。mutex のロック待ちになっていたスレッドの実行は再開されます。
...mutex のロックを解放します。mutex のロック待ちになっていたスレッドの実行は再開されます。
@return self を返します。
例:
m = Mutex.new
begin
m.lock
# critical part
ensure
m.unlock
end
Mutex はロックしたスレッド以外からロッ......開放することは出来ません。
ロックしたスレッド以外から unlock が呼ばれると ThreadError が発生します。
m = Mutex.new
m.lock
Thread.new do
m.unlock # => ThreadError
end.join
@raise ThreadError self がロックされていない場合や self をロック... -
Mutex
# synchronize { . . . } -> object (21038.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
# locked? -> bool (21022.0) -
mutex がロックされている時、真を返します。
...mutex がロックされている時、真を返します。
//emlist[例][ruby]{
m = Mutex.new
m.locked? # => false
m.lock
m.locked? # => true
//}... -
Mutex
# try _ lock -> bool (21022.0) -
mutex をロックしようとして、ロックが成功した場合、真を返します。 ロックできなかった場合にはブロックせず偽を返します。
...mutex をロックしようとして、ロックが成功した場合、真を返します。
ロックできなかった場合にはブロックせず偽を返します。
//emlist[例][ruby]{
m = Mutex.new
m.try_lock # => true
m.try_lock # => false
//}... -
Mutex
# owned? -> bool (21006.0) -
self がカレントスレッドによってロックされている場合に true を返します。 そうでない場合に false を返します。
...self がカレントスレッドによってロックされている場合に true を返します。
そうでない場合に false を返します。
//emlist[例][ruby]{
m = Mutex.new
m.owned? # => false
m.lock
Thread.new do
m.owned? # => false
end.join
m.owned? # => true
//}... -
Mutex
# sleep(timeout = nil) -> Integer (21006.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
//}... -
Thread
:: Mutex (18048.0) -
Mutex(Mutal Exclusion = 相互排他ロック)は共有データを並行アクセスから保護する ためにあります。Mutex の典型的な使い方は(m を Mutex オブジェクトとします):
...Mutex(Mutal Exclusion = 相互排他ロック)は共有データを並行アクセスから保護する
ためにあります。Mutex の典型的な使い方は(m を Mutex オブジェクトとします):
m.lock
begin
# m によって保護されたクリティカルセクション
ensu... -
Thread
:: MUTEX _ FOR _ THREAD _ EXCLUSIVE -> Mutex (6218.0) -
Thread.exclusive用のMutexオブジェクトです。
...Thread.exclusive用のMutexオブジェクトです。......Thread.exclusive用のMutexオブジェクトです。
(private constant です。)... -
Tracer
. stdout _ mutex -> Mutex (6202.0) -
@todo
@todo -
Mutex
_ m (6102.0) -
スレッド同期機構である 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 にする事ができます。
このモ... -
mutex
_ m (6016.0) -
スレッド同期機構である Mutex のモジュール版を提供するライブラリです。
...スレッド同期機構である Mutex のモジュール版を提供するライブラリです。... -
Logger
:: LogDevice :: LogDeviceMutex (6000.0) -
ログの出力先ファイルを同期するためのクラスです。
ログの出力先ファイルを同期するためのクラスです。
@see MonitorMixin -
PStore
:: DummyMutex (6000.0) -
ダミーのミューテックス。このクラスを使ってもスレッドセーフにはなりません。
ダミーのミューテックス。このクラスを使ってもスレッドセーフにはなりません。 -
Mutex
_ m # mu _ extended -> Mutex (3117.0) -
Mutex_m.extend_object から呼び出されます。 ユーザが直接使うことはありません。
...
Mutex_m.extend_object から呼び出されます。
ユーザが直接使うことはありません。... -
Thread
:: Mutex . new -> Thread :: Mutex (3117.0) -
新しい mutex を生成して返します。
...新しい mutex を生成して返します。...