开发者社区> 问答> 正文

线程状态 ready、pend、suspend、sleep、deleted分别代表什么意思?

已解决

线程状态 ready、pend、suspend、sleep、deleted分别代表什么意思?

展开
收起
甜甜的嘻嘻嘻 2022-08-11 11:12:28 2110 0
1 条回答
写回答
取消 提交回答
  • 推荐回答

    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可下载完整版

    2022-08-11 11:17:48
    赞同 展开评论 打赏
问答分类:
问答标签:
来源圈子
更多
收录在圈子:
问答排行榜
最热
最新

相关电子书

更多
多IO线程优化版 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载