При просмотре кода для версии 8 на Java 8 ForkJoinPool (который имеет несколько интересных изменений от Java 7) я наткнулся на эту конструкцию (здесь):
do {} while (!blocker.isReleasable() &&
!blocker.block());
Я боюсь, почему вы напишете это так, а не просто
while (!blocker.isReleasable() &&
!blocker.block());
Это просто выбор семантики/удобочитаемости, поскольку вы можете прочитать первую конструкцию как do "nothing" while "conditions"
? Или есть некоторые дополнительные преимущества, которые мне не хватает?