1# 长时任务并发场景简介
2
3在应用业务实现过程中,对于需要较长时间不定时运行的任务,称为长时任务。长时任务如果放在UI主线程中执行会阻塞UI主线程的UI业务,出现卡顿丢帧等影响用户体验的问题。因此通常需要将这个独立的长时任务放到单独的子线程中执行。
4
5典型的长时任务场景如下所示:
6
7
8| 常见业务场景 | 具体业务描述 |
9| -------- | -------- |
10| 定期采集传感器数据 | 周期性采集一些传感器信息(例如位置信息、速度传感器等),应用运行阶段长时间不间断运行。 |
11| 监听Socket端口信息 | 长时间监听Socket数据,不定时需要响应处理。 |
12
13上述业务场景均为独立的长时任务,任务执行周期长,跟外部交互简单,分发到后台线程后,需要不定期响应,以获取结果。这些类型的任务使用TaskPool可以简化开发工作量,避免管理复杂的生命周期,避免线程泛滥,开发者只需要将上述独立的长时任务放入TaskPool队列,再等待结果即可。
14