VaKeR CYBER ARMY
Logo of a company Server : Apache
System : Linux host44.registrar-servers.com 4.18.0-513.18.1.lve.2.el8.x86_64 #1 SMP Sat Mar 30 15:36:11 UTC 2024 x86_64
User : vapecompany ( 2719)
PHP Version : 7.4.33
Disable Function : NONE
Directory :  /opt/alt/ruby18/share/ri/1.8/system/MonitorMixin/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //opt/alt/ruby18/share/ri/1.8/system/MonitorMixin/cdesc-MonitorMixin.yaml
--- !ruby/object:RI::ClassDescription 
attributes: []

class_methods: 
- !ruby/object:RI::MethodSummary 
  name: extend_object
- !ruby/object:RI::MethodSummary 
  name: new
comment: 
- !ruby/struct:SM::Flow::P 
  body: "Adds monitor functionality to an arbitrary object by mixing the module with <tt>include</tt>. For example:"
- !ruby/struct:SM::Flow::VERB 
  body: "   require 'monitor.rb'\n\n   buf = []\n   buf.extend(MonitorMixin)\n   empty_cond = buf.new_cond\n\n   # consumer\n   Thread.start do\n     loop do\n       buf.synchronize do\n         empty_cond.wait_while { buf.empty? }\n         print buf.shift\n       end\n     end\n   end\n\n   # producer\n   while line = ARGF.gets\n     buf.synchronize do\n       buf.push(line)\n       empty_cond.signal\n     end\n   end\n"
- !ruby/struct:SM::Flow::P 
  body: The consumer thread waits for the producer thread to push a line to buf while buf.empty?, and the producer thread (main thread) reads a line from ARGF and push it to buf, then call empty_cond.signal.
constants: []

full_name: MonitorMixin
includes: []

instance_methods: 
- !ruby/object:RI::MethodSummary 
  name: mon_acquire
- !ruby/object:RI::MethodSummary 
  name: mon_check_owner
- !ruby/object:RI::MethodSummary 
  name: mon_enter
- !ruby/object:RI::MethodSummary 
  name: mon_enter_for_cond
- !ruby/object:RI::MethodSummary 
  name: mon_exit
- !ruby/object:RI::MethodSummary 
  name: mon_exit_for_cond
- !ruby/object:RI::MethodSummary 
  name: mon_initialize
- !ruby/object:RI::MethodSummary 
  name: mon_release
- !ruby/object:RI::MethodSummary 
  name: mon_synchronize
- !ruby/object:RI::MethodSummary 
  name: mon_try_enter
- !ruby/object:RI::MethodSummary 
  name: new_cond
- !ruby/object:RI::MethodSummary 
  name: synchronize
- !ruby/object:RI::MethodSummary 
  name: try_mon_enter
name: MonitorMixin
superclass: 

VaKeR 2022