On Wed, 17 Aug 2022 07:21:43 GMT, Jens Lidestrom <[email protected]> wrote:
> Prior to this change it was not clear from the documentation if callers of
> Platform#runLater must perform
> any synchronisation to have writes of the calling thread be visible in the
> JavaFX Application
> Thread. It is important to document either if callers can rely on runLater to
> do such synchronisation
> internally, or to document is users CAN NOT rely on runLater for this.
>
> This change documents that actions in a thread prior to submitting a runnable
> to
> Platform#runLater happen-before actions performed by the runnable in the
> JavaFX
> Application Thread.
>
> runLater inherits the memory consistency effects of InvokeLaterDispatcher in
> most cases.
> InvokeLaterDispatcher uses BlockingDeque internally. This change documents
> this
> in the same way as it is documented by BlockingDeque.
>
> Other implementations of runLater should have similar memory consistency
> effects.
The added description looks good. I left one suggestion on using code style for
the named argument.
modules/javafx.graphics/src/main/java/javafx/application/Platform.java line 157:
> 155: * Memory consistency effects: Actions in a thread prior to
> submitting a
> 156: * runnable to this method <i>happen-before</i> actions performed by
> 157: * the runnable in the JavaFX Application Thread.
I think it would be helpful to use code style for runnable on these two lines
(since it refers to the `runnable` argument), like this: `{@code runnable}`
-------------
PR: https://git.openjdk.org/jfx/pull/872