有没有必要在这个Ruby线程示例中使用Queue而不是Array?

时间:2016-01-14 21:53:43

标签: ruby multithreading queue

从ruby docs中的以下线程示例中,看起来Queue并没有做任何与数组不同的事情...所以我什么时候才能在线程Ruby代码中使用Queue over Array?

let uri = URL(fileURLWithPath: "")
let rtc:RTCICEServer = RTCICEServer(uri: uri, username: "", password: "")
print(rtc)

1 个答案:

答案 0 :(得分:4)

如果队列为空,

Queue#pop将暂停调用线程,直到数据被推送。

如果你使用常规数组,有些pop可能会消耗实际数据,如果有更多nil >消费者任务比生产者任务运行。