£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyʦ•ꎅȮFÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~芩ÊǍí`ÔÑ©ú뙵'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶êםӼ㞪éUWŸÈË%DÒÕ¬ï‘]/Åcx ‰ï2ß]ä6G[]S£Ôϯrs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ ¯¹ægƒÛowЍø^d™ý½ßB7áyMä9ÜÖUã !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --- !ruby/object:RI::ClassDescription attributes: [] class_methods: - !ruby/object:RI::MethodSummary name: new comment: - !ruby/struct:SM::Flow::P body: This class provides a way to synchronize communication between threads. - !ruby/struct:SM::Flow::P body: "Example:" - !ruby/struct:SM::Flow::VERB body: " require 'thread'\n\n queue = Queue.new\n\n producer = Thread.new do\n 5.times do |i|\n sleep rand(i) # simulate expense\n queue << i\n puts "#{i} produced"\n end\n end\n\n consumer = Thread.new do\n 5.times do |i|\n value = queue.pop\n sleep rand(i/2) # simulate expense\n puts "consumed #{value}"\n end\n end\n\n consumer.join\n" constants: [] full_name: Queue includes: [] instance_methods: - !ruby/object:RI::MethodSummary name: "<<" - !ruby/object:RI::MethodSummary name: clear - !ruby/object:RI::MethodSummary name: deq - !ruby/object:RI::MethodSummary name: empty? - !ruby/object:RI::MethodSummary name: enq - !ruby/object:RI::MethodSummary name: length - !ruby/object:RI::MethodSummary name: num_waiting - !ruby/object:RI::MethodSummary name: pop - !ruby/object:RI::MethodSummary name: push - !ruby/object:RI::MethodSummary name: shift - !ruby/object:RI::MethodSummary name: size name: Queue superclass: Object