13-线程创建
13.4.1 线程创建
与Java一样,Kotlin可以通过创建Thread对象或者实现Runnable接口来创建线程。例如,使用对象表达式新建一个线程。
object : Thread() {
override fun run() {
Thread.sleep(3000)
println("获取Thread当前线程对象: ${Thread.currentThread()}")
}
}.start()
上述代码使用Kotlin的对象表达式来创建一个匿名类并覆盖run方法。当然,还可以通过实现Runnable接口来创建线程。
val t= Runnable {
run {
Thread.sleep(5000)
println("5s后打印输出")
}
}
t.isDaemon = false
t.name = "CThread"
t.priority = 3
t.start()
在上述代码中,调用线程实例的代码基本都是样板化的,因此还可以使用如下的函数形式对Kotlin进行封装处理。
thread(start = true, isDaemon = false, name = "DThread", priority = 3) {
Thread.sleep(5000)
println("5s后打印输出")
}