线程状态 ready、pend、suspend、sleep、deleted分别代表什么意思?
1.ready:表示当前线程已经等待被调度,系统的调度原则是:优先级不同 高优先 级线程运行,优先级相同则各个线程时间片轮转运行。
2.pend:表示当前线程被挂起,挂起原因是线程在等待信号量、互斥锁、消息队列 等,例如调 用:aos_sem_wait,aos_mutex_lock 等接口,线程就会被挂起并置成 pend 状态。如果是信号量等待时间是 forever,则 left tick 的值为 0;如果 有超时时间,则 left tick 的值就是超时时间,单位为毫秒
3.suspend:表示当前线程被主动挂起,就是程序主动调用了 task_suspend 函数
4.sleep:表示当前线程被主动挂起,就是调用了 aos_sleep 等睡眠函数,left tick 的值即表示 睡眠的时间
5.deleted:当前线程已经被主动删除,也就是调用 krhino_task_del
以上内容摘自《无需从0开发 1天上手智能语音离在线方案》电子书,点击https://developer.aliyun.com/topic/download?id=904可下载完整版
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。