Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > syncライブラリ > Sync_mモジュール
module Sync_m
クラスの継承リスト: Sync_m
Abstract
スレッド同期機構である再入可能な reader/writer ロック機能を Mix-in により提供する。
includeしたクラスではinitializeでsuperを呼び出しておく必要がある。
モジュール関数
sync_exclusive? -> bool
exclusive? -> bool
-
排他ロックされているかどうかを返します。
sync_lock(mode = EX) -> self
lock(mode = EX) -> self
-
ロック状態を変更します。 変更できるまで現在のスレッドの実行をブロックする。
- [PARAM] mode:
- 変更後の状態を指定します。 通常、 Sync_m::EX, Sync_m::SH のどれかを指定します。
sync_locked? -> bool
locked? -> bool
-
ロックされているかどうかを返します。
sync_shared? -> bool
shared? -> bool
-
共有ロックされているかどうかを返します。
sync_mode -> bool
-
現在のロック状態を返します。
sync_synchronize(mode = EX) {...} -> object
synchronize(mode = EX) {...} -> object
-
ロック状態を変更してブロックを実行します。 ブロックの実行結果を返します。
- [PARAM] mode:
- 変更後の状態を指定します。 通常、 Sync_m::UN, Sync_m::EX, Sync_m::SH のどれかを指定します。
sync_try_lock(mode = EX) -> bool
try_lock(mode = EX) -> bool
-
ロック状態を変更します。 変更できたかどうかをtrueかfalseで返し、ブロックしない。
- [PARAM] mode:
- 変更後の状態を指定します。 通常、 Sync_m::EX, Sync_m::SH のどれかを指定します。
sync_unlock(mode = EX) -> self
unlock(mode = EX) -> self
-
ロックを解除します。
- [PARAM] mode:
- 変更後の状態を指定します。 通常、 Sync_m::UN, Sync_m::EX, Sync_m::SH のどれかを指定します。
定数
EX
-
排他ロックされている状態を表す定数です。 オブジェクトの状態を更新する場合のように、 1つのスレッドがオブジェクトを独占的に使用したい場合に用いる。 排他ロック中に他のスレッドはオブジェクトを共有/排他ロックできない。
SH
-
共有ロックされている状態を表す定数です。 複数のスレッドが同時にオブジェクトを使用できる場合に用いる。 複数のスレッドが共有ロックしている場合、 どのスレッドもオブジェクトを排他ロックできない。
UN
-
ロックされていない状態を表す定数です。