Der Zweck einer if-Anweisungsbedingung ist java21-ConcurrentHashMap-Transfer-Methodencode:2463LineJava

Java-Forum
Anonymous
 Der Zweck einer if-Anweisungsbedingung ist java21-ConcurrentHashMap-Transfer-Methodencode:2463Line

Post by Anonymous »

Ich verwende Java 21.

Der folgende Code stammt aus dem Quellcode der Klasse java.util.concurrent.ConcurrentHashMap.

Code: Select all

// Method: transfer , line: 2463
if (i < 0 || i >= n || i + n >= nextn) {
int sc;
if (finishing) {
nextTable = null;
table = nextTab;
sizeCtl = (n >> 1);
return;
}
if (U.compareAndSetInt(this, SIZECTL, sc = sizeCtl, sc - 1)) {
if ((sc - 2) != resizeStamp(n) = n, mir fällt kein Sonderfall ein; es fühlt sich an, als ob es nicht passieren kann.
[*]Bedingung 3: i + n >= nextn, ist dasselbe.
[/list]
Sind die Bedingungen 2 und 3 für defensive Programmierung?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post