fuzhengwei / fuzhengwei/CodeGuide

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

Offen
#347 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Shell
Sterne
11.9k
Forks
4.2k
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

图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 周大拿

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginne mit dem Artikel „面经手册第17篇《ReentrantLock之AQS原理分析和实践使用》“ und vergleiche dessen 图17-2 unter der verlinkten Bild-URL mit der Beschreibung von nonfairTryAcquire im Issue. Aktualisiere das Diagramm so, dass die Rückgabeverzweigungen, das CAS-Ergebnis, der Besitz des Locks und der Reentrant-Pfad dem beschriebenen Verhalten entsprechen; im Issue ist keine Test- oder Quelldatei angegeben.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
documentation
Issue-Typ
Dokumentation
Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
50/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.