我有一个基于 JavaFX 的应用程序,用 Kotlin 编写。默认情况下,JavaFX 在单独的线程中运行,我想确保当 JavaFX 到达使用该变量的部分时,在主线程中初始化的变量已准备好。
Java 有 wait
和 notify
方法,我可以在该变量上使用它们,但它们在 Kotlin 中不可用。
我还研究了 Kotlin 协程,但它们似乎是围绕任务依赖性构建的(即一个任务可以等待另一个任务),但它们不能简单地使用变量,并且使用协程而不是线程,即如果我使用协程来协调我的变量,JavaFX 仍然在单独的线程上运行,该线程无法与协程一起协调(或者我遗漏了什么?)。
最佳答案
您仍然可以use wait
and notifiy
in Kotlin ,但不推荐。
您还可以使用CountDownLatch .
关于multithreading - Kotlin中如何等待线程初始化变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51216708/