ConcurrentLinkedQueue 的大小
2022-09-03 02:32:22
阅读Java的ConcurrentLinkedQueue Docs,我想知道为什么实现不可能存储大小:
请注意,与大多数集合不同,size 方法不是常量时间操作。由于这些队列的异步特性,确定当前元素数需要遍历元素。
这种“异步性质”在源中的什么位置?我只看到一个 while 循环来重试排队,直到 AtomicReferences 与预期的值/引用匹配。为什么在成功向队列提供值后无法递增 a?size:AtomicInteger
多谢。