1. 首页
  2. 编程语言
  3. Java
  4. 浅谈Java并发 J.U.C之AQS:CLH同步队列

浅谈Java并发 J.U.C之AQS:CLH同步队列

上传者: 2021-05-08 00:07:41上传 PDF文件 195.36 KB 热度 4次

CLH同步队列是一个FIFO双向队列,AQS依赖它来完成同步状态的管理,当前线程如果获取同步状态失败时,AQS则会将当前线程已经等待状态等信息构造成一个节点并将其加入到CLH同步队列,同时会阻塞当前线程,当同步状态释放时,会把首节点唤醒(公平锁),使其再次尝试获取同步状态。在enq方法中,AQS通过“死循环”的方式来保证节点可以正确添加,只有成功添加后,当前线程才会从该方法返回,否则会一直执行下去。

用户评论