摘要:
Compare And Swap 就是经常听到的 CAS(比较和交换),它就是将多个原子操作(读-改-写)合并成一个原子操作。 举个例子:i++ 这个自增操作,它可以被拆分成三个操作,读 i 的值、i 的值加 1、写 i 的值;而 CAS 就可以将这三个原子操作,合并成一个原子操作。 比较和交换:先 阅读全文
摘要:
在看 ReentrantLock 使用之前,先来了解一下线程活跃性;活跃性分为:死锁、活锁和饥饿。 死锁 一个线程需要获取多把锁的时候,有可能就会发生死锁。 例如下面这个例子: t1 获得 A 对象锁,接下来想获取 B 对象锁 t2 获得 B 对象锁,接下来想获取 A 对象锁 Object A = 阅读全文