是这样的,我正在想办法解决RPI里thread中的usleep不够准的问题
(usleep 3000 -> 有时候会变6000多)
我看bcm2835 lib的说明有建议说把thread设成MAX priority
可以避免thread被swap
像这样:
struct sched_param sp;
memset(&sp, 0, sizeof(sp));
sp.sched_priority = sched_get_priority_max(SCHED_FIFO);
sched_setscheduler(0, SCHED_FIFO, &sp);
mlockall(MCL_CURRENT | MCL_FUTURE);
我尝试了以后,发现无线网络会因此顿顿的(因为我用ssh连)
看来是因为priority被抢走了以至于response time 太长
请问我要如何设才能让thread比无线网络相关thread的优先权小(但相对来说还是高)?
Thanks.