如何在 Kotlin 中创建线程池

16

我想在Kotlin中创建一个线程池。我已经在互联网上搜索了几个小时,但是找不到任何示例。是否有人可以提供示例?谢谢。


4
请使用标准的线程池,就像您在Java代码中所做的那样。 - voddan
1个回答

22
    val executor = Executors.newFixedThreadPool(5)

    for (i in 0..9) {
        val worker = Runnable { println("Hello this is thread " + i) }
        executor.execute(worker)
    }

    executor.shutdown()
    executor.awaitTermination(1, TimeUnit.HOURS)
    println("Finished all threads")

2
在调用.shutdown()之后,您不应该需要while (!isTerminated)循环...对吧?此时它们不都保证已终止了吗?如果它们没有终止,那么应该有一种比紧密的while循环更少占用资源的方法。 - Samuel Neff
1
你可以使用 awaitTermination 来等待所有任务终止,而不是使用紧密的 while 循环。 - Jon Tirsen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接