StackOverflow 文档 Ruby Language 教程 队列 多个工人一个接收器 多个工人一个接收器 Created: November-22, 2018 我们想收集多个 Workers 创建的数据。 首先我们创建一个队列: sink = Queue.new 然后 16 名工人都生成一个随机数并将其推入水槽: (1..16).to_a.map do Thread.new do sink << rand(1..100) end end.map(&:join) 要获取数据,请将队列转换为数组: data = [].tap { |a| a << sink.pop until sink.empty? } 将队列转换为数组队列