種類
- インスタンスメソッド (48)
- 特異メソッド (24)
- モジュール (12)
- 文書 (12)
- クラス (12)
ライブラリ
- ビルトイン (36)
-
mutex
_ m (36) - pstore (12)
- shell (6)
-
shell
/ process-controller (6)
クラス
- Mutex (2)
-
PStore
:: DummyMutex (12) - Shell (6)
-
Shell
:: ProcessController (6) - Thread (12)
-
Thread
:: Mutex (10)
モジュール
-
Mutex
_ m (24)
キーワード
- Mutex (12)
-
Mutex
_ m (12) -
NEWS for Ruby 2
. 0 . 0 (12) -
block
_ output _ synchronize (6) -
debug
_ output _ synchronize (6) - exclusive (12)
-
mu
_ synchronize (12)
検索結果
先頭5件
-
Mutex
# synchronize { . . . } -> object (21107.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"
//}... -
Thread
:: Mutex # synchronize { . . . } -> object (21107.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
_ m # synchronize { . . . } -> object (21102.0) -
self のロックを取得し、ブロックを実行します。実行後に必ずロックを解放します。
self のロックを取得し、ブロックを実行します。実行後に必ずロックを解放します。
ブロックで最後に評価した値を返します。 -
PStore
:: DummyMutex # synchronize { . . . } -> object (21101.0) -
与えられたブロックを評価するだけで何もしません。
与えられたブロックを評価するだけで何もしません。 -
Shell
:: ProcessController . block _ output _ synchronize { . . . } -> () (18301.0) -
@todo
@todo -
Shell
. debug _ output _ synchronize (12207.0) -
@todo
...@todo
@see Mutex#synchronize......@todo
@see Thread::Mutex#synchronize... -
Mutex
_ m # mu _ synchronize { . . . } -> object (12202.0) -
self のロックを取得し、ブロックを実行します。実行後に必ずロックを解放します。
self のロックを取得し、ブロックを実行します。実行後に必ずロックを解放します。
ブロックで最後に評価した値を返します。 -
Thread
. exclusive { . . . } -> object (6106.0) -
VM グローバルの Mutex をロックし、ブロックを実行します。
...ーバルの Mutex をロックし、ブロックを実行します。
このクラスメソッドの挙動は 1.8 以前とは違います。
Thread.exclusive は VM グローバルの Thread::MUTEX_FOR_THREAD_EXCLUSIVE の
synchronize を呼び出しているだけで、Thread.exclusive してい......ないスレッドは動きます。
Mutex や Monitor などの他の排他制御の方法を検討してください。......ないスレッドは動きます。
Thread::Mutex や Monitor などの他の排他制御の方法を検討してください。......VM グローバルの Mutex をロックし、ブロックを実行します。
このクラスメソッドの挙動は 1.8 以前とは違います。
Thread.exclusive は VM グローバルの Mutex の
synchronize を呼び出しているだけで、Thread.exclusive していないスレッド......は動きます。
Thread::Mutex や Monitor などの他の排他制御の方法を検討してください。... -
Mutex
_ m (6012.0) -
スレッド同期機構である Mutex のモジュール版です。クラスに Module#include することでそのクラスに Mutex 機能を持たせることができます。 また、普通のオブジェクトを Object#extend により Mutex にする事ができます。
...スレッド同期機構である Mutex のモジュール版です。クラスに
Module#include することでそのクラスに Mutex 機能を持たせることができます。
また、普通のオブジェクトを Object#extend により Mutex にする事ができます。
このモジ......「mu_」の付かないメソッド(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
obj = 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 (6006.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 (6006.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 によって保護されたクリティカルセクション
}... -
NEWS for Ruby 2
. 0 . 0 (3012.0) -
NEWS for Ruby 2.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...NEWS for Ruby 2.0.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリス......トは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
== 1.9.3 以降の変更
=== 言語仕様の変更
* キーワード引数を追加しました
* %i, %I をシンボルの配列作成のために追加しました。(%w, %W に似ています)
*......bject.const_get("Foo::Bar::Baz")
//}
* Mutex
* 追加(実験的): Mutex#owned? mutex が現在のスレッドに所持されているかどうかを返します
* 非互換:
* Mutex#lock, Mutex#unlock, Mutex#try_lock, Mutex#synchronize, Mutex#sleep
はトラップハンド...