sync.rb - 2 phase lock with counter $Release Version: 1.0$ $Revision: 56183 $ by Keiju ISHITSUKA(keiju@ishitsuka.com)
–
Sync_m, Synchronizer_m Usage: obj.extend(Sync_m) or class Foo include Sync_m : end Sync_m#sync_mode Sync_m#sync_locked?, locked? Sync_m#sync_shared?, shared? Sync_m#sync_exclusive?, sync_exclusive? Sync_m#sync_try_lock, try_lock Sync_m#sync_lock, lock Sync_m#sync_unlock, unlock Sync, Synchronizer: Usage: sync = Sync.new Sync#mode Sync#locked? Sync#shared? Sync#exclusive? Sync#try_lock(mode) -- mode = :EX, :SH, :UN Sync#lock(mode) -- mode = :EX, :SH, :UN Sync#unlock Sync#synchronize(mode) {...}