File: //usr/local/rvm/gems/default/doc/concurrent-ruby-1.1.9/ri/Concurrent/Event/cdesc-Event.ri
U:RDoc::NormalClass[iI"
Event:ETI"Concurrent::Event;TI"$Synchronization::LockableObject;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"KOld school kernel-style event reminiscent of Win32 programming in C++.;To:RDoc::Markup::BlankLine o; ;[I"RWhen an `Event` is created it is in the `unset` state. Threads can choose to ;TI"O`#wait` on the event, blocking until released by another thread. When one ;TI"Qthread wants to alert all blocking threads it calls the `#set` method which ;TI"Swill then wake up all listeners. Once an `Event` has been set it remains set. ;TI"LNew threads calling `#wait` will return immediately. An `Event` may be ;TI"/`#reset` at any time once it has been set.;T@o; ;[I"P@see http://msdn.microsoft.com/en-us/library/windows/desktop/ms682655.aspx ;TI"
@example;To:RDoc::Markup::Verbatim;[I"#event = Concurrent::Event.new
;TI"
;TI"t1 = Thread.new do
;TI" puts "t1 is waiting"
;TI" event.wait(1)
;TI" puts "event ocurred"
;TI" end
;TI"
;TI"t2 = Thread.new do
;TI" puts "t2 calling set"
;TI" event.set
;TI" end
;TI"
;TI"[t1, t2].each(&:join)
;TI"
;TI"# prints:
;TI"# t2 calling set
;TI"# t1 is waiting
;TI"# event occurred;T:@format0:
@fileI"3lib/concurrent-ruby/concurrent/atomic/event.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[ [ [ [[I"
class;T[[:public[[I"new;TI"3lib/concurrent-ruby/concurrent/atomic/event.rb;T[:protected[ [:private[ [I"
instance;T[[;[
[I"
reset;T@?[I"set;T@?[I" set?;T@?[I" try?;T@?[I" wait;T@?[;[[I"ns_initialize;T@?[I"ns_set;T@?[;[ [ [U:RDoc::Context::Section[i 0o;;[ ;
0;0[@3I"Concurrent;TcRDoc::NormalModule