CopyOnWriteArrayList 中的两个线程更新

Two threads updating in CopyOnWriteArrayList

双线程 假设 t1 和 t2 都试图同时在 copyOnWriteArrayList 中执行更新操作......那么哪个线程更改将首先复制到原始列表中?

在这种情况下,两个线程将尝试...同时...获取 CopyOnWriteArrayList 上的写锁。一个线程将立即获得锁。另一个线程将被阻塞,直到获得锁的线程释放它。

What if two threads get the lock at the same time.

两个线程可以尝试同时获取锁。但是,只有一个线程会立即获得锁。另一个将被阻止。这是锁的基本不变性。用于获取和释放锁的指令序列......最终CPU硬件保证不违反不变量。