"Nichts" tun, während "Bedingung"

Beim Durchsuchen des Codes für die Java 8-Version von ForkJoinPool (mit einigen interessanten Änderungen gegenüber Java 7) bin ich auf dieses Konstrukt gestoßen (Hier):

do {} while (!blocker.isReleasable() &&
             !blocker.block());

Ich kämpfe mit dem Grund, warum Sie es so schreiben würden, anstatt nur

while (!blocker.isReleasable() &&
       !blocker.block());

Ist es nur eine Semantik / Lesbarkeits-Wahl, da man das erste Konstrukt als lesen könntedo "nothing" while "conditions"? Oder gibt es einen zusätzlichen Vorteil, den ich vermisse?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage