如何等待线程在 Kotlin 中初始化变量?
How to wait for thread to initialize variable in Kotlin?
我有一个 Java基于 FX 的应用程序,是用 Kotlin 编写的。 JavaFX默认在单独的线程中运行,我想确保当JavaFX到达它使用该变量的部分时,在主线程中初始化的变量已经准备就绪。
Java 有 wait
和 notify
方法,我会在该变量上使用它们,但它们在 Kotlin 中不可用。
我也研究了 Kotlin 协程,但它们似乎是围绕任务依赖性构建的(即一个任务可以等待另一个任务),但它们并不能简单地使用变量,而是使用协程而不是线程,也就是说,如果我使用协程来协调我的变量,JavaFX 仍然在一个单独的线程上运行,它不能与协程一起协调(或者我遗漏了什么?)。
您仍然可以 use wait
and notifiy
in Kotlin,但不推荐。
您也可以使用 CountDownLatch.
我有一个 Java基于 FX 的应用程序,是用 Kotlin 编写的。 JavaFX默认在单独的线程中运行,我想确保当JavaFX到达它使用该变量的部分时,在主线程中初始化的变量已经准备就绪。
Java 有 wait
和 notify
方法,我会在该变量上使用它们,但它们在 Kotlin 中不可用。
我也研究了 Kotlin 协程,但它们似乎是围绕任务依赖性构建的(即一个任务可以等待另一个任务),但它们并不能简单地使用变量,而是使用协程而不是线程,也就是说,如果我使用协程来协调我的变量,JavaFX 仍然在一个单独的线程上运行,它不能与协程一起协调(或者我遗漏了什么?)。
您仍然可以 use wait
and notifiy
in Kotlin,但不推荐。
您也可以使用 CountDownLatch.