aliases: Synchronizer_m
要約
スレッド同期機構である再入可能な reader/writer ロック機能を Mix-in により提供します。
includeしたクラスではinitializeでsuperを呼び出しておく必要があります。
目次
- インスタンスメソッド
-
- exclusive?
- lock
- locked?
- shared?
- sync_ex_count
- sync_ex_count=
- sync_ex_locker
- sync_ex_locker=
- sync_exclusive?
- sync_extend
- sync_inspect
- sync_lock
- sync_locked?
- sync_mode
- sync_sh_locker
- sync_sh_locker=
- sync_shared?
- sync_synchronize
- sync_try_lock
- sync_unlock
- sync_upgrade_waiting
- sync_upgrade_waiting=
- sync_waiting
- sync_waiting=
- synchronize
- try_lock
- unlock
- 定数
インスタンスメソッド
sync_exclusive? -> bool
[permalink][rdoc][edit]exclusive? -> bool
-
排他ロックされているかどうかを返します。
sync_lock(mode = EX) -> self
[permalink][rdoc][edit]lock(mode = EX) -> self
-
ロック状態を変更します。変更できるまで現在のスレッドの実行をブロックします。
- [PARAM] mode:
- 変更後の状態を指定します。通常、 Sync_m::EX, Sync_m::SH のどれかを指定します。
sync_locked? -> bool
[permalink][rdoc][edit]locked? -> bool
-
ロックされているかどうかを返します。
sync_shared? -> bool
[permalink][rdoc][edit]shared? -> bool
-
共有ロックされているかどうかを返します。
sync_ex_count -> Integer
[permalink][rdoc][edit]-
[TODO]
sync_ex_count=(count)
[permalink][rdoc][edit]-
[TODO]
sync_ex_locker -> Thread | nil
[permalink][rdoc][edit]-
[TODO]
sync_ex_locker=(thread)
[permalink][rdoc][edit]-
[TODO]
sync_extend
[permalink][rdoc][edit]-
[TODO]
sync_inspect
[permalink][rdoc][edit]-
[TODO]
sync_mode -> Symbol
[permalink][rdoc][edit]-
現在のロック状態を返します。
sync_sh_locker -> Hash
[permalink][rdoc][edit]-
[TODO]
sync_sh_locker=(hash)
[permalink][rdoc][edit]-
[TODO]
sync_synchronize(mode = EX) {...} -> object
[permalink][rdoc][edit]synchronize(mode = EX) {...} -> object
-
ロック状態を変更してブロックを実行します。ブロックの実行結果を返します。
- [PARAM] mode:
- 変更後の状態を指定します。通常、 Sync_m::UN, Sync_m::EX, Sync_m::SH のどれかを指定します。
sync_try_lock(mode = EX) -> bool
[permalink][rdoc][edit]try_lock(mode = EX) -> bool
-
ロック状態を変更します。変更できたかどうかをtrueかfalseで返し、ブロックしません。
- [PARAM] mode:
- 変更後の状態を指定します。通常、 Sync_m::EX, Sync_m::SH のどれかを指定します。
sync_unlock(mode = EX) -> self
[permalink][rdoc][edit]unlock(mode = EX) -> self
-
ロックを解除します。
- [PARAM] mode:
- 変更後の状態を指定します。通常、 Sync_m::UN, Sync_m::EX, Sync_m::SH のどれかを指定します。
sync_upgrade_waiting -> [Thread]
[permalink][rdoc][edit]-
[TODO]
sync_upgrade_waiting=(arr)
[permalink][rdoc][edit]-
[TODO]
sync_waiting -> [Thread]
[permalink][rdoc][edit]-
[TODO]
sync_waiting=(arr)
[permalink][rdoc][edit]-
[TODO]
定数
EX -> Symbol
[permalink][rdoc][edit]-
排他ロックされている状態を表す定数です。オブジェクトの状態を更新する場合のように、 1つのスレッドがオブジェクトを独占的に使用したい場合に用います。排他ロック中に他のスレッドはオブジェクトを共有/排他ロックできません。
SH -> Symbol
[permalink][rdoc][edit]-
共有ロックされている状態を表す定数です。複数のスレッドが同時にオブジェクトを使用できる場合に用います。複数のスレッドが共有ロックしている場合、どのスレッドもオブジェクトを排他ロックできません。
UN -> Symbol
[permalink][rdoc][edit]-
ロックされていない状態を表す定数です。