如何等待线程在 Kotlin 中初始化变量?

How to wait for thread to initialize variable in Kotlin?

我有一个 Java基于 FX 的应用程序,是用 Kotlin 编写的。 JavaFX默认在单独的线程中运行,我想确保当JavaFX到达它使用该变量的部分时,在主线程中初始化的变量已经准备就绪。

Java 有 waitnotify 方法,我会在该变量上使用它们,但它们在 Kotlin 中不可用。

我也研究了 Kotlin 协程,但它们似乎是围绕任务依赖性构建的(即一个任务可以等待另一个任务),但它们并不能简单地使用变量,而是使用协程而不是线程,也就是说,如果我使用协程来协调我的变量,JavaFX 仍然在一个单独的线程上运行,它不能与协程一起协调(或者我遗漏了什么?)。

您仍然可以 use wait and notifiy in Kotlin,但不推荐。

您也可以使用 CountDownLatch.