我在linux中创建了两个线程Task0和Task1,并且修改了线程的优先级,工作方式为SCHED_FIFO,但是不知道为什么执行起来并没有显示抢占的现象,反而感觉像是时间片轮的方式执行的,两个线程交替执行。并且两个线程执行总是从后创建的那个线程开始执行,想不明白是什么原因。希望有了解大神能给予指导,谢谢!!!
这个优先级,OS并不一定会遵守,Linux也是抢占式操作系统,所以线程可能都会有机会运行
要固定在同一个cpu上运行, 才能达到期望的效果。请搜索CPU_SET