处理取消和中断机制,
如何编写任务和服务的代码,使它们响应取消请求。
任务取消:
可取消的任务:
取消的原因大概有:
- 用户请求的取消;
- 限时活动;
- 应用程序事件;
- 错误;
- 关闭;
可取消的任务必须拥有取消策略:
- 如何请求取消该任务;
- 什么时机检查取消的请求到达;
- 响应取消请求应该执行的行为。
取消任务的方式:
设置取消请求标示,任务定期查看,如果发现取消标志被设置过,提前结束任务。
如果任务代码响应中断,那么可以使用中断作为取消机制,并利用很多库类对中断的支持。中断通常是实现取消最明智的选择。