On Jan 10, 2014, at 7:11 PM, Mike Duigou <mike.dui...@oracle.com> wrote: >> >> The second tweak is to consolidate the reporting of elements to within the >> ForEachOrderedTask.tryComplete method. >> >> I have also removed the inconsistently applied synchronized block. Either we >> apply it consistently to reporting or not at all. It was originally there >> because we were not sure that the "happens-before" relationship [1] between >> elements would be guaranteed. However, ForEachOrderedTask sets up such a >> relationship via completion counts to ensure leaf nodes complete in >> encounter order (if any) where only one leaf can be completing (which was >> left most leaf that was not completed), hence stamping a fence in the ground >> at these point seems redundant (at least i cannot see its value but could be >> missing something subtle). > > Coud not the lock object be removed? >
Doh, yes, thanks, updated, Paul.