Linux heracles.o2switch.net 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64
/
opt
/
alt
/
ruby27
/
share
/
ri
/
system
/
Queue
/
//opt/alt/ruby27/share/ri/system/Queue/cdesc-Queue.ri
U:RDoc::NormalClass[iI" Queue:ET@I"Object;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[ I"GThe Queue class implements multi-producer, multi-consumer queues. ;TI"FIt is especially useful in threaded programming when information ;TI"Hmust be exchanged safely between multiple threads. The Queue class ;TI"3implements all the required locking semantics.;To:RDoc::Markup::BlankLine o; ;[I"IThe class implements FIFO type of queue. In a FIFO queue, the first ;TI")tasks added are the first retrieved.;T@o; ;[I" Example:;T@o:RDoc::Markup::Verbatim;[I"queue = Queue.new ;TI" ;TI"producer = Thread.new do ;TI" 5.times do |i| ;TI"+ sleep rand(i) # simulate expense ;TI" queue << i ;TI" puts "#{i} produced" ;TI" end ;TI" end ;TI" ;TI"consumer = Thread.new do ;TI" 5.times do |i| ;TI" value = queue.pop ;TI"- sleep rand(i/2) # simulate expense ;TI"# puts "consumed #{value}" ;TI" end ;TI" end ;TI" ;TI"consumer.join;T:@format0: @fileI"thread_sync.c;T:0@omit_headings_from_table_of_contents_below0; 0;0[ [ [ [[I" class;T[[:public[ [:protected[ [:private[[I"new;TI"thread_sync.c;T[I" instance;T[[;[ [;[ [;[[I"<<;T@@[I" clear;T@@[I" close;T@@[I"closed?;T@@[I"deq;T@@[I"empty?;T@@[I"enq;T@@[I"length;T@@[I"num_waiting;T@@[I"pop;T@@[I" push;T@@[I" shift;T@@[I" size;T@@[ [U:RDoc::Context::Section[i 0o;;[ ; 0;0[I"thread_sync.c;T@0cRDoc::TopLevel