在浏览JavaJ版本的ForkJoinPool的代码时(我从Java 7中进行了一些有趣的更改),我遇到了这个构造(这里):
do {} while (!blocker.isReleasable() &&
!blocker.block());
Run Code Online (Sandbox Code Playgroud)
我正在努力为什么你会这样写,而不是只是
while (!blocker.isReleasable() &&
!blocker.block());
Run Code Online (Sandbox Code Playgroud)
它只是一个语义/可读性选择,因为你可以读取第一个结构do "nothing" while "conditions"吗?或者我还缺少一些额外的好处?