gpt4 book ai didi

c# - IProducerConsumerCollection.TryAdd/.TryTake - 他们什么时候返回 true/false?

转载 作者:行者123 更新时间:2023-11-30 14:34:18 28 4
gpt4 key购买 nike

当我调用 IProducerConsumerCollection<T>.TryAdd(<T>)IProducerConsumerCollection<T>.TryTake(out <T>)这些会不会因为另一个线程正在使用该集合而失败?

或者即使在另一个线程完成收集后,如果有空间要添加或有东西要取,它是否总是返回 true?

我在这里看不到任何内容:http://msdn.microsoft.com/en-us/library/dd287147.aspx

最佳答案

虽然理论上集合可以出于任何原因拒绝获取/添加请求,但我知道的唯一原因是 Add 失败,因为集合已达到其容量,并且Take 失败,因为集合为空。

这些集合从一开始就被设计为供多个线程使用——所以如果还有剩余的项目,即使两个线程同时尝试Take,它们都应该得到一个项和 true 的返回值。

关于c# - IProducerConsumerCollection<T>.TryAdd/.TryTake - 他们什么时候返回 true/false?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14256944/

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