Nuttx辅助线程(LP和HP)有轮询间隔,仅对工作线程0。我想知道为什么需要一个轮询间隔?
当有人将新工作排队到工作队列中时,将向工作线程发出处理它的信号。如果所有工作线程都很忙,则当线程完成当前工作并再次检查队列时,将处理排队的工作。
关于sched_garbage_collection()工作,工作线程由sched_signal_free()发出信号。
那么,当需要轮询间隔时,情况是怎样的呢?似乎信号是足够好,以确保工人线程总是踢,以处理工作。
发布于 2018-03-10 17:06:55
不需要轮询。它就在那里,作为一个故障安全装置。我担心如果一个通知信号丢失了会产生什么后果。当然,这将是一个bug,而且由于我没有意识到这样的错误,我不得不说轮询是不必要的,浪费了CPU周期。
另一个问题是投票的缺省率,据我所知,这是50岁的女士,这是一项高效率的活动,也是最优先的任务。你可以把它定得低得多。如果您想添加一个选项来禁用轮询,那也可能是件好事。
https://stackoverflow.com/questions/49204981
复制相似问题