底层原理

api实现基于AQS队列,底层基于新的cpu指令集,也就是CAS操作。 CAS(Compare and swap)比较和替换是设计并发算法时用到的一种技术。简单来说,比较和替换是使用一个期望值和一个变量的当前值进行比较,如果当前变量的值与我们期望的值相等,就使用一个新值替换当前变量的值。

CAS问题

  1. 耗费cpu
  2. ABA问题

ABA问题的解决

使用版本号来解决,在jdk里面提供有AtomicStampRefence类。

死锁原因

死锁排查

可重入锁

results matching ""

    No results matching ""