> kotlin将腐蚀引入了处理异步任务的一种更现代,更有效的方法,但java的线程类仍可以直接在kotlin上使用。这对于需要更明确的控制或正在使用java法律库的项目很有用 在本文中,我们将探索如何使用kotlin中的线程类,以及它是有效的(甚至是罕见)的选择
2-什么是线程?
高创建和管理成本:
fun main() {
val thread = thread {
println("executando na thread: ${thread.currentthread().name}")
thread.sleep(1000) // simula uma tarefa longa (1 segundo).
println("thread finalizada.")
}
thread.start() // inicia a execução da thread
println("thread principal: ${thread.currentthread().name}")
}
控制台上的预期输出:>
thread.start():启动并行执行线程
4-有用的线程类方法4.1 - 开始:> 线程的执行开始。块中的代码将在单独的线程上执行
4.2 - join:
使主线程等待另一个线程的完成fun main() {
val thread = thread {
println("thread começando...")
thread.sleep(2000)
println("thread finalizada.")
}
thread.start()
println("esperando a thread terminar...")
thread.join() // aguarda a thread terminar antes de continuar.
println("thread concluída, voltando à principal.")
}
线程完成
线程完成,返回主
4.3
使当前的线程在特定时期内“睡眠”,从而阻止其执行
>示例:
fun main() {
println("Thread principal: ${Thread.currentThread().name}")
Thread.sleep(2000) // Pausa por 2 segundos
print
ln("Thread principal acordou.")
}
注意:在可能的情况下,应避免使用线程
与遗留代码的集成:依赖于显式线程的古代java库
低级任务6-比较:线程vs。腐蚀:您需要对执行和操作系统功能进行完全控制
simples
:不需要腐蚀性的方案
| 管理 | 操作系统 | kotlin |
创建成本 |
高 | 低音 |
| 可伸缩性
|
有限 | 高度可扩展 |
| 块 | block是,您可以阻止线程 | 不,它使用悬架 |