29、Kotlin 开发中的并发、外部库与 XML 处理

Kotlin 开发中的并发、外部库与 XML 处理

1. 并发编程中的任务取消与异常处理

在并发编程中,任务的取消和异常处理是重要的部分。

1.1 任务取消示例

从日志记录可以看到,父任务 l11 及其子任务 l111 都被取消了,标签 F G H 从未被执行到。

11:40:35.896: C
11:40:36.896: I
11:40:36.898: D
11:40:36.899: E
11:40:37.394: X2
11:40:37.395: X3

练习 :在前面的示例中,移除 cancel() 语句,而是在标签 E 之后的 delay() 中添加 0.5 秒的超时。我们可以推测,日志记录可能会与使用 cancel() 语句时不同。

1.2 不可取消代码块

如果要确保一段代码即使包含挂起函数调用也不会被取消,可以将其包装在特殊的新上下文中:

withContext(NonCancellable) {
    // 不可取消的代码
}
1.3 异常处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值