JezK
Edit File: cdesc-Event.ri
U:RDoc::NormalClass[iI" Event:EFI"Concurrent::Event;FI"$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 ocurred;T:@format0: @fileI"#lib/concurrent/atomic/event.rb;T:0@omit_headings_from_table_of_contents_below0; 0;0[ [ [ [[I" class;T[[:public[[I"new;TI"#lib/concurrent/atomic/event.rb;T[:protected[ [:private[ [I" instance;T[[;[ [I" reset;F@?[I"set;F@?[I" set?;F@?[I" try?;F@?[I" wait;F@?[;[[I"ns_initialize;F@?[I"ns_set;F@?[;[ [ [U:RDoc::Context::Section[i 0o;;[ ; 0;0[@3I"Concurrent;FcRDoc::NormalModule