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

标签 multithreading javafx concurrency kotlin kotlinx.coroutines

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

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

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

最佳答案

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

您还可以使用CountDownLatch .

关于multithreading - Kotlin中如何等待线程初始化变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51216708/

相关文章:

java - 使用线程和 USB 连接后应用程序屏幕空白

java - 按值 Java 对 ObservableList 对象进行排序

java - 如何使用 JavaFX 中的边框更改形状属性?

C++ std::atomic - 不可能基于共享原子变量同步 2 个线程

java - Java内存模型中局部最终变量的语义?

java - 无论如何要找出当前正在使用该对象的线程数?

java - Java中的高优先级线程

c# - Thread.Sleep 的替代方案

Python 多处理池与多处理线程池

java - eclipse JavaFX css 资源未找到