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