Class: Monitor
Relationships & Source Files | |
Super Chains via Extension / Inclusion / Inheritance | |
Instance Chain:
self,
::MonitorMixin
|
|
Inherits: | Object |
Defined in: | lib/monitor.rb |
Overview
Use the Monitor
class when you want to have a lock object for blocks with mutual exclusion.
require 'monitor'
lock = Monitor.new
lock.synchronize do
# exclusive access
end
Constant Summary
::MonitorMixin - Included
Instance Attribute Summary
::MonitorMixin - Included
#mon_locked? | Returns true if this monitor is locked by any thread. |
#mon_owned? | Returns true if this monitor is locked by current thread. |
Instance Method Summary
-
#enter
Alias for MonitorMixin#mon_enter.
-
#exit
Alias for MonitorMixin#mon_exit.
-
#try_enter
Alias for MonitorMixin#try_mon_enter.
::MonitorMixin - Included
#mon_enter | Enters exclusive section. |
#mon_exit | Leaves exclusive section. |
#mon_synchronize | Enters exclusive section and executes the block. |
#mon_try_enter | Attempts to enter exclusive section. |
#new_cond | Creates a new ::MonitorMixin::ConditionVariable associated with the receiver. |
#synchronize | Alias for MonitorMixin#mon_synchronize. |
#try_mon_enter | Alias for MonitorMixin#mon_try_enter. |
#initialize | Use |
#mon_check_owner, #mon_enter_for_cond, #mon_exit_for_cond, | |
#mon_initialize | Initializes the ::MonitorMixin after being included in a class or when an object has been extended with the ::MonitorMixin. |
Instance Method Details
#enter
Alias for MonitorMixin#mon_enter.
# File 'lib/monitor.rb', line 300
alias enter mon_enter
#exit
Alias for MonitorMixin#mon_exit.
# File 'lib/monitor.rb', line 301
alias exit mon_exit
#try_enter
Alias for MonitorMixin#try_mon_enter.
# File 'lib/monitor.rb', line 299
alias try_enter try_mon_enter