2
En ArrayBlockingQueue, ¿por qué copiar el campo de miembro final en la variable final local?
En ArrayBlockingQueue, todos los métodos que requieren el bloqueo lo copian en una finalvariable local antes de llamar lock(). public boolean offer(E e) { if (e == null) throw new NullPointerException(); final ReentrantLock lock = this.lock; lock.lock(); try { if (count == items.length) return false; else { insert(e); return true; …