gpt4 book ai didi

ruby - 使用 .each/iterator 的线程安全 Ruby 队列

转载 作者:数据小太阳 更新时间:2023-10-29 08:08:16 24 4
gpt4 key购买 nike

查看Queue API ,我认为它没有 #each 实现或任何类型的迭代运行。无论如何我们可以将线程安全的 Queue 转换为数组或列表而不需要操作 Queue 中的任何元素? (假设这个队列是不可变的。)

也许我没有很好地谷歌搜索,但是找不到任何与此相关的线程安全操作。

非常感谢任何回复。

最佳答案

Hamster gem提供了许多不可变的数据结构,其中有一种队列形式——双端队列。

双端队列没有实现each,但它可以转换为可迭代的列表。

require 'hamster/deque'

q = Hamster::Deque[1,2,3]
q.to_list.each { |n| puts n }
# => 1
# => 2
# => 3

注意:Deque 在 v1.0.1 候选版本中可用。该版本尚未发布。旧版本的 Hamster 不包括 Deque,但有某种我不熟悉的队列。

关于ruby - 使用 .each/iterator 的线程安全 Ruby 队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28669002/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com