线程调度原理剖析
线程调度原理
任意时刻,只有一个线程占用CPU,处于运行状态
多线程并发:轮流获取CPU使用权
JVM负责线程调度:按照特定机制分配CPU使用权
线程调度模型
分时调度模型:轮流获取、均分CPU时间
抢占式调度模型:优先级高的获取,JVM采用
android线程调度
nice值
- process中定义
- 值越小,优先级越高
- 默认是THREAD_PRIORITY_DEFAULT,0
cgroup
更严格的群组调度策略
保证前台线程可以获取到更多的cpu
注意点
线程过多导致CPU频繁切换,降低线程运行效率
正确认识任务重要性决定那种优先级
优先级具有继承性
总结
Android线程调度原理剖析
Android异步方式汇总
Thread
最简单、常见的异步方式
不易复用,频繁创建及销毁开销大
复杂场景不易使用
HandlerThread
自带消息循环的线程
- 串行执行
- 长时间运行,不断从队列取出任务执行
IntentServsice
继承自Service在内部创建HandlerThread
- 异步&#x