文章目录
协程的上下文
CoroutineContext是一组用于定义协程行为的元素。它由如下几项构成:
- 1.Job:控制协程的生命周期。
- 2.CoroutineDispatcher:向合适的线程分发任务。
- 3.CoroutineName:协程的名称,调试的时候很有用。
- 4.CoroutineExceptionHandle:处理未被捕捉的异常。
组合上下文中的元素
有时我们需要在协程上下文中定义多个元素。我们可以使用+操作符来实现。比如说,我们可以显示指定一个调度器来启动协程并且同时显示指定一个命名:
@Test
fun `test CoroutineContext`() = runBlocking<Unit> {
launch(Dispatchers.Default + CoroutineName("test")) {
println("I'm working in thread${
Thread.currentThread().name}"