RFR: 8293839: Documentation memory consistency effects of runLater
Kevin Rushforth
kcr at openjdk.org
Thu Sep 15 11:30:53 UTC 2022
On Wed, 17 Aug 2022 07:21:43 GMT, Jens Lidestrom <duke at openjdk.org> 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
More information about the openjfx-dev
mailing list