fuzhengwei / fuzhengwei/CodeGuide

面经手册第17篇《ReentrantLock之AQS原理分析和实践使用》中图的问题

Open
#347 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Shell
Stars
11.9k
Forks
4.2k
PR merge metrics
No merged PRs in 30d

Description

图17-2 :https://bugstack.cn/assets/images/2020/interview/interview-17-2.png
1、nonfairTryAcquire根据源码应该是一个逻辑分支 final boolean nonfairTryAcquire(int acquires) 返回true和false两种情况,应该是一一个“菱形”选择分支。
2、nonfairTryAcquire其中有个子流程 (如果state=0 则**cas修改** 设置独占线程并返回true,如果state!=0 则判断是否当前线程重入? 是的话State+1 返回true,其他情况均为false)
3、**cas修改**共享变量是否成功 并不是 进入current == getExclusiveOwnerThread() 的判断条件,且修改成功后 说明获得了锁 与流程图中不符。

欢迎各位一起交流指导:v信:JinLS1216 周大拿

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.