On Wed, 2 Apr 2025 13:44:47 GMT, Alan Bateman <al...@openjdk.org> wrote:
>> Per Minborg has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Add info that Map#values and Map#entrySet are stable > > src/java.base/share/classes/java/lang/StableValue.java line 455: > >> 453: * provided to the {@link #orElseSet(Supplier)} method. >> 454: */ >> 455: boolean trySet(T content); > > I assume the intent is that trySet can only return at most true once but the > current wording suggests that two threads racing to set the same content > would return true, or sequential calls to trySet to set the same content > would return true. Does this need to be clarified? I second this > src/java.base/share/classes/java/lang/StableValue.java line 494: > >> 492: * <p> >> 493: * The provided {@code supplier} will only be invoked once even if >> invoked from >> 494: * several threads unless the {@code supplier} throws an exception. > > Is this the supplier instance or any supplier? Just wondering about the case > where two threads are invoke it with different instances (for whatever > reason), I can't tell from the javadoc. Seconded ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/23972#discussion_r2024957920 PR Review Comment: https://git.openjdk.org/jdk/pull/23972#discussion_r2024961992