本机Kotlin项目中的Thread.sleep()
我正在尝试创建一个简单的本地Kotlin项目。我希望我的项目在进程中等待X毫秒:本机Kotlin项目中的Thread.sleep(),kotlin,kotlin-native,Kotlin,Kotlin Native,我正在尝试创建一个简单的本地Kotlin项目。我希望我的项目在进程中等待X毫秒: import kotlin.concurrent fun main() { Thread.sleep(500); println("Hello world") } 要编译的命令: kotlinc main.kt -o program.exe 但我得到了以下错误: main.kt:1:15: error: unresolved reference: concurrent import kotli
import kotlin.concurrent
fun main() {
Thread.sleep(500);
println("Hello world")
}
要编译的命令:
kotlinc main.kt -o program.exe
但我得到了以下错误:
main.kt:1:15: error: unresolved reference: concurrent
import kotlin.concurrent
^
main.kt:4:2: error: unresolved reference: Thread
Thread.sleep(500);
^
我有点困惑,这不是延迟我的应用程序的正确方法吗?首先,Kotlin/Native有
Kotlin.Native.concurrent
库,这就是第一个错误的原因。但即使在这个函数中,也没有像Thread.sleep()
这样的函数。相反,您可以尝试使用posix内置库K/N中的platform.posix.sleep()
函数。我不确定这种方法的用例是什么,但如果您确实需要保留线程,这可能会有所帮助。如果您需要比秒更精确,您可以像这样使用nanosleep
功能:
import platform.posix.nanosleep
import platform.posix.timespec
// ...
val time = cValue<timespec> {
tv_sec = 2
tv_nsec = 500000000
}
nanosleep(time, null)
import platform.posix.nanosleep
导入platform.posix.timespec
// ...
val时间=cValue{
电视秒=2
tv_nsec=500000000
}
纳秒睡眠(时间,空)
是睡眠的秒数tv_sec
是睡眠的额外纳秒数(0到99999999)tv\u nsec
上面的示例等待2.5秒。游乐场可以工作,但这不是Kotlin nativegetting
未解析引用:delay
,即使在使用导入kotlinx.coroutines
时,您是否找到了与此相关的内容?请注意platform.posix.sleep()
仅接受整数秒作为参数。所以问题中的500ms不可能使用该API。