withContext
1.用于执行耗时任务,会切换线程
2.多个withContext()执行,为串行,运行在同一个线程
3.直接返回结果
4.withConext是个 suspend 函数
val task1 = withContext(Dispatchers.IO) {...}
val task2 = withContext(Dispatchers.IO) {...}
执行完task1,才会执行task2.
async await()
1.执行耗时任务,会切换线程
2.但是可以并行
3.使用await()获取结果对象
val task1 = async(Dispatchers.IO) {...}
task1.await()