时间片(time-slicing)轮循调度(round-robin scheduling)

1.轮循调度

        通过tx_thread_relinquish实现。

        通过其处理具有相同优先级的多个线程,为相同优先级的所有其他就绪线程提供了在 relinquish 调用方再次执行之前执行的机会。

2.时间片

        轮循调度的另一种形式。

        1 ≤time_slice≤ 0xFFFFFFFF。在优先级相同的其他就绪线程有机会运行之前,允许该线程运行的计时器时钟周期数。

         

        使用抢占阈值将禁用时间片。值为TX_NO_TIME_SLICE(值为 0)将禁用此线程的时间片。

        时间片按每个线程提供。 线程的时间片在创建时分配,可在运行时修改。 当时间片过期时,具有相同优先级的所有其他就绪线程有机会在时间片线程重新执行之前执行。

        当线程挂起、放弃、执行导致抢占的 ThreadX 服务调用或自身经过时间片后,该线程将获得一个新的线程时间片。

        当时间片的线程被抢占时,该线程将在其剩余的时间片内比具有相同优先级的其他就绪线程更早恢复执行。如:时间片统一设置为 10 ms的同优先级 T 线程 A、B、C;在A运行 3 ms时 CPU 被更高优先级线程抢占,当优先级T的线程再次获的CPU运行资源时,线程A会优先获得剩余的 7ms CPU资源。

        注:时间片仅适用于多个线程具有相同优先级的情况,不应为具有唯一优先级的线程分配时间片。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值