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

时间:2018-07-06 19:37:45

标签: multithreading javafx concurrency kotlin kotlinx.coroutines

我有一个用Kotlin编写的基于JavaFX的应用程序。默认情况下,JavaFX在单独的线程中运行,我想确保当JavaFX到达使用该变量的部分时,准备好在主线程中初始化的变量。

Java具有我在该变量上使用的waitnotify方法,但Kotlin中不提供它们。

我也研究了Kotlin协程,但是它们似乎是围绕任务依赖关系构建的(即一个任务可以等待另一个任务),但是它们不能简单地与变量一起工作,而是使用协程而不是线程,即我使用协程来协调变量,JavaFX仍然在单独的线程上运行,该线程无法与协程一起进行协调(或者我缺少某些东西吗?)。

1 个答案:

答案 0 :(得分:4)

尽管不建议,您仍然可以use wait and notifiy in Kotlin

您也可以使用CountDownLatch