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