Чтение Java ConcurrentLinkedQueue Docs, интересно, почему реализация не может сохранить размер:
Остерегайтесь того, что, в отличие от большинства коллекций, метод размера НЕ является операцией постоянного времени. Из-за асинхронности этих очередей определение текущего количества элементов требует обхода элементов.
Где в источник - это "асинхронный характер"?
Я вижу только цикл while, чтобы повторять enqueing, пока AtomicReferences не будет соответствовать ожидаемым значениям/ссылкам. Почему невозможно увеличить значение size:AtomicInteger
после успешного создания значения в очереди?
Спасибо большое.