【发布时间】:2020-01-08 20:22:11
【问题描述】:
Javadoc for ConcurrentLinkedQueue 明确指出 size() 方法的复杂度为 O(n)。我觉得这很令人惊讶。我会按照股票LinkedList.size() 的方法,在柜台累积大小。鉴于ConcurrentLinkedQueue 操作的异步性质,计数器自然必须是AtomicInteger。这样做是不是因为它会违反非阻塞保证?如果是这样,我应该期望AtomicInteger 计数器引入多少开销?
【问题讨论】:
标签: java multithreading concurrency nonblocking concurrent-queue