【HarmonyOS NEXT】FFRT中的yield使用无效

文章讨论了在Python中,如何使用Task函数向串行队列中添加任务时遇到的CPU占用问题。由于串行队列的特性,如果任务中发生阻塞,后续任务将不会被执行,直到前一个任务完成。作者引用了OpenHarmony的resourceschedule_ffrt文档来解释这一现象并提供了解决方案。
摘要由CSDN通过智能技术生成

【问题描述】

调用Task函数,向queue中添加task,但是使用yield无法释放CPU,后插入queue中的函数始终无法执行。

示例代码如下:

cke_701.png

【解决方案】

串行队列是按顺序执行,提交至该队列的任务将按照顺序执行;如果某个提交的任务中发生阻塞,则无法保证该任务的执行顺序。

也就是说,串行队列需要等前一个任务完成后才能执行下一个任务,不能强行抢占。

具体请参考如下文档说明:https://gitee.com/openharmony/resourceschedule_ffrt/blob/master/docs/user_guide.md#%E6%8F%8F%E8%BF%B0-28

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值