嵌入式技术论坛
直播中

李丽

8年用户 1495经验值
私信 关注
[问答]

RT-Thread线程如何不使用时间片而使用抢占式调度呢?

想把线程任务优先级分为几个档,高优先级的可以抢占,而同优先级的按顺序执行,执行到阻塞再进行切换,而非时间片执行,应该怎么设置?

我现在是将tick设置为RT_TICK_MAX ,但是由于将sleep挂在了idle里,为了防止在delay期间进入导致出错所以会先判断rt_timer_next_timeout_tick()!=RT_TICK_MAX则不进入sleep,如果有同优先级的时间片一旦开始消耗那么rt_timer_next_timeout_tick()!=RT_TICK_MAX恒成立就无法进入sleep了

回帖(2)

王杰

2023-2-3 14:29:56
同优先级的按序执行,可以考虑workqueue实现
举报

李丽

2023-2-3 14:30:06
不像freertos一样可以设置的吗?
举报

更多回帖

发帖
×
20
完善资料,
赚取积分