【发布时间】:2018-04-29 18:38:40
【问题描述】:
我今天开始在 Android 上使用 Kotlin 协程,我注意到 Anko 有一套自己的辅助方法。我理解为什么存在asReference(),但我不知道为什么存在bg(),因为核心协程库已经有async()。
bg() 代码非常简单,内部使用了async():
@PublishedApi
internal var POOL = newFixedThreadPoolContext(2 * Runtime.getRuntime().availableProcessors(), "bg")
inline fun <T> bg(crossinline block: () -> T): Deferred<T> = async(POOL) {
block()
}
那么使用bg() 而不是async() 有什么好处呢? async() 对于 Android 应用程序在某种程度上是否效率低下?
【问题讨论】:
标签: android kotlin kotlinx.coroutines anko