如何在Kotlin中像多个线程一样进行多次启动
我想让它first
second
永远同时工作!!
像这样的代码...
runBlocking {
// first
launch{
first()
}
// second
launch{
second()
}
}
suspend fun first(){
// do something
delay(1000L)
// Recursive call
first()
}
suspend fun second(){
// do something
delay(1000L)
// Recursive call
second()
}
如果示例代码是应用程序中唯一正在运行的代码,则该示例代码已经可以使用。如果您需要这两个与您的应用程序并行运行的方法,请将它们包装在GlobalScope.launch
:
GlobalScope.launch {
launch { first() }
launch { second() }
}
这将一直运行,直到被取消和/或引发内部异常。如果协程内部不需要太多资源并在使用时正确释放它们,那么StackOverFlow永远不会有问题。
除了递归代码外:尝试按照注释中的建议进行循环。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句