0

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

4

1 回答 1

0

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

如果两个线程同时获得锁怎么办。

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

于 2019-01-24T12:48:07.310 回答