您可以使用
sched_setscheduler()系统调用将线程的调度策略临时设置为
SCHED_FIFO,然后再次将其重新设置。从
sched_setscheduler()手册页:
甲
SCHED_FIFO过程运行,直至其通过一个I / O请求阻塞,它是由较高优先级的进程抢占,或它调用sched_yield(2)。
(在这种情况下,“进程”实际上是指“线程”)。
但是,这是一个可疑的要求。您希望解决什么问题?如果您只是试图保护完成处理程序的链接列表以防止并发访问,那么通常的互斥锁是可行的方法。让完成线程锁定互斥锁,删除列表项,解锁互斥锁,然后调用完成处理程序。



