【发布时间】:2020-01-04 08:41:57
【问题描述】:
上下文是我需要使用一些使用旧世界线程模型的遗留 Java 代码。线程池执行器、调度器和可运行对象和线程。
但是,我的新代码是所有协程兼容的。
所以,给定一个可运行的
val runnable = Runnable {
print("Hurray")
}
有没有更好的方法在协程范围内运行这个可运行文件,而不是以下感觉有点笨拙的方法(你实际上只是在绕过你试图运行一个可运行文件并将其压缩到协程中的事实)
GlobalScope.launch(Dispatchers.IO) { runnable.run() }
有没有办法与可运行程序和协同程序互操作?
【问题讨论】:
-
这个问题非常广泛。不清楚你想做什么。你是从 Kotlin 调用 Java 还是从 Java 调用 Kotlin? Java 代码接受什么作为输入和输出什么?
标签: java multithreading kotlin kotlin-coroutines