找回密码
 立即注册
查看: 237|回复: 9

跑系统中,挂起任务中出现OS_PRIO_SELF怎么理解?

[复制链接]
  • TA的每日心情
    奋斗
    6 小时前
  • 签到天数: 172 天

    [LV.7]常住居民III

    116

    主题

    475

    回帖

    638

    积分

    高级会员

    积分
    638
    发表于 2024-2-10 16:57:55 | 显示全部楼层 |阅读模式


    跑系统中,挂起任务中出现OS_PRIO_SELF怎么理解?是挂起挂起函数本身吗?还是挂起当前正在执行任务自身的?模糊不清,找不到边界感。


    OSTaskSuspend(OS_PRIO_SELF);

    回复 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-5-5 08:35
  • 签到天数: 143 天

    [LV.7]常住居民III

    29

    主题

    558

    回帖

    2144

    积分

    荣誉版主

    积分
    2144
    发表于 2024-2-10 18:00:38 | 显示全部楼层
    挂起自己
    回复 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    6 小时前
  • 签到天数: 172 天

    [LV.7]常住居民III

    116

    主题

    475

    回帖

    638

    积分

    高级会员

    积分
    638
     楼主| 发表于 2024-2-10 20:09:57 | 显示全部楼层

    如何回复自己呢?

    点评

    没有恢复自己。 因为挂起自己后,自身任务已不具备运行条件,所以会立即触发任务调度并切换到其它任务,此后该任务不能再运行(除非被别人恢复),又如何恢复自己? 所以,只有挂起自己、挂起别人、恢复别人,而且“  详情 回复 发表于 2024-2-10 20:32
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    2 小时前
  • 签到天数: 177 天

    [LV.7]常住居民III

    5

    主题

    581

    回帖

    2385

    积分

    荣誉版主

    积分
    2385
    发表于 2024-2-10 20:32:37 | 显示全部楼层
    本帖最后由 CosyOS 于 2024-2-10 20:45 编辑
    380091044 发表于 2024-2-10 20:09
    如何回复自己呢?

    没有恢复自己。
    因为挂起自己后,自身任务已不具备运行条件,所以会立即触发任务调度并切换到其它任务,此后该任务不能再运行(除非被别人恢复),又如何恢复自己?
    所以,只有“挂起自己”、“挂起别人”、“恢复别人”,而且“挂起别人”一定要慎用,否则可能会导致不良后果。
    “恢复/挂起” 常用的方式为 “挂起自己而后被别人恢复”,是实现线程同步的一种手段。
    回复 支持 1 反对 0 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    6 小时前
  • 签到天数: 172 天

    [LV.7]常住居民III

    116

    主题

    475

    回帖

    638

    积分

    高级会员

    积分
    638
     楼主| 发表于 2024-2-10 20:56:08 | 显示全部楼层
    CosyOS 发表于 2024-2-10 20:32
    没有恢复自己。
    因为挂起自己后,自身任务已不具备运行条件,所以会立即触发任务调度并切换到其它任务,此 ...

    太经典了,大家都来学习,感谢老师精彩的解答,我明白了,有了边界感!
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    6 小时前
  • 签到天数: 172 天

    [LV.7]常住居民III

    116

    主题

    475

    回帖

    638

    积分

    高级会员

    积分
    638
     楼主| 发表于 2024-2-10 21:00:03 | 显示全部楼层
    CosyOS 发表于 2024-2-10 20:32
    没有恢复自己。
    因为挂起自己后,自身任务已不具备运行条件,所以会立即触发任务调度并切换到其它任务,此 ...

    我 的理解,再确认一下,防止理解差了,挂起的是这个任务自己,不是恢复函数"OSTaskSuspend()自己"

    点评

    你的问题反倒是让我不能理解你问的是什么意思?  发表于 2024-2-10 21:14
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    2 小时前
  • 签到天数: 177 天

    [LV.7]常住居民III

    5

    主题

    581

    回帖

    2385

    积分

    荣誉版主

    积分
    2385
    发表于 2024-2-10 21:21:36 | 显示全部楼层
    本帖最后由 CosyOS 于 2024-2-10 21:36 编辑

    “恢复自身任务” 在实际中是不会有这种需求的。
    原因是:
    1、如果自身任务正在运行,又何必恢复自身?
    2、如果自身任务被挂起(无论是被别人挂起还是被自己挂起),该任务都不能再运行,又如何恢复自身?

    如果还有不理解的地方,请尽量描述清楚,我会耐心解答。。。
    回复 支持 1 反对 0 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    6 小时前
  • 签到天数: 172 天

    [LV.7]常住居民III

    116

    主题

    475

    回帖

    638

    积分

    高级会员

    积分
    638
     楼主| 发表于 2024-2-11 07:38:27 | 显示全部楼层
    CosyOS 发表于 2024-2-10 21:21
    “恢复自身任务” 在实际中是不会有这种需求的。
    原因是:
    1、如果自身任务正在运行,又何必恢复自身?

    感谢老师耐心回答,明白了。
    回复 支持 反对 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-21 15:15 , Processed in 0.080901 second(s), 61 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表