kotlin使用线程池
时间: 2023-11-14 08:55:20 浏览: 45
在 Kotlin 中使用线程池可以通过 Java 的 `ExecutorService` 类来实现。下面是一个简单的示例,演示了如何在 Kotlin 中使用线程池:
```kotlin
import java.util.concurrent.Executors
fun main() {
// 创建一个固定大小为 5 的线程池
val executorService = Executors.newFixedThreadPool(5)
// 提交任务到线程池
for (i in 1..10) {
executorService.submit {
println("Task $i is running on ${Thread.currentThread().name}")
}
}
// 关闭线程池
executorService.shutdown()
}
```
在这个示例中,我们使用 `Executors.newFixedThreadPool()` 方法创建了一个固定大小为 5 的线程池。然后使用 `submit()` 方法提交了10个任务到线程池中,并在每个任务中打印了当前线程的名称。
最后,我们使用 `shutdown()` 方法关闭了线程池。这个方法会等待所有已提交的任务执行完成,然后停止接受新的任务。
你也可以根据需求选择其他类型的线程池,比如 `Executors.newCachedThreadPool()` 创建一个缓存线程池,它会根据需要创建新的线程,或者 `Executors.newSingleThreadExecutor()` 创建一个单线程的线程池。