当前位置: 首页 > 图灵资讯 > java面试题> 金三银四精选java面试题-谈谈你对AQS的理解,AQS如何实现可重入锁?

金三银四精选java面试题-谈谈你对AQS的理解,AQS如何实现可重入锁?

来源:图灵教育
时间:2023-12-14 09:18:48
 

谈谈你对AQS的理解,AQS如何实现可重入锁?

  1. AQS是一个java线程同步的框架。是JDK中很多锁工具的核心实现框架。
  2. 在AQS中,维护了一个信号量state和一个线程组成的双向链表队列。其中,这个线程队列,就是用来给线程排队的,而state就像是一个红绿灯,用来控制线程排队或者放行的。 在不同的场景下,有不用的意义。
  3. 在可重入锁这个场景下,state就用来表示加锁的次数。0标识无锁,每加一次锁,state就加1。释放锁state就减1。