1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
想向大神请教一下workqueue的用法, 上图中说周期性的任务提交工作项需要取消任务项,但是比如工作项被提提交了 rt_work_submit(&workItem,1),也被系统工作队列执行了,是不是一旦被执行了的话这个工作项在工作队列中就会被删除了,接着再继续提交同一个工作项应该是没有问题吧?不用再取消这个工作项吧?因为上次提交的工作项都已经被工作队列执行了,这儿就存在工作项的生命周期的问题 文档中心这儿好像也是暗示一旦被执行,工作项会被删除掉 在其他资料中找到了对工作项的生命周期做了阐述,感觉如果工作项已经被执行了的话,就会在工作队列中被删除,所以周期性提交工作项满足这条要求的话不用每次执行rt_work_cancel(&workItem,1),不知道是不是这样的? |
|
相关推荐
4个回答
|
|
工作队列一般用于执行不紧急的一些操作,有些操作执行可能会耗时。在这样比直接创建一个线程执行可能带来了方便。
工作队列优先级比较的低,建议rt_work_submit 前 先把之前的 rt_work_cancel 掉,当然有的操作,间隔时间比较久,保证肯定可以执行玩,即使其他的一些操作都往队列里塞。 这时就可以省略 rt_work_cancel |
|
|
|
执行submit,相当于往队列里添加工作项,执行时系统取出工作项进行执行,执行完毕会把这个工作项从列表中删除吗,虽然工作项只是个指针,如果系统执行完不从链表中把已经执行完的工作项删除,那么如果一直循环提交工作项,链表会越来越长,这个从设计上系统自动去删除还是必须手动去cancel删除已经执行的工作项?
|
|
|
|
这个要看你做什么操作,一般的操作,系统自动执行完自动删除即可,这样不丢操作。
工作队列不同于消息队列,工作队列执行可能会延后,手动删除防止执行相同的操作两遍(如果上次的因为队列积压没有执行到) |
|
|
|
嗯嗯 明白了
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1111 浏览 0 评论
AI模型部署边缘设备的奇妙之旅:如何在边缘端部署OpenCV
3930 浏览 0 评论
tms320280021 adc采样波形,为什么adc采样频率上来波形就不好了?
1534 浏览 0 评论
2287 浏览 0 评论
1730 浏览 0 评论
75553 浏览 21 评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-31 01:10 , Processed in 0.793372 second(s), Total 77, Slave 61 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号