标签: c linux multithreading
目前,流程中会定期启动低优先级刷新器任务。有时由于锁争用,这种低优先级任务可能会干扰其他高优先级任务。当进程中的其他线程空闲(阻塞等待锁定/未运行状态)时,我想机会性地运行这种低优先级任务。我知道,一旦启动了这样的低优先级任务,其他高优先级任务可以很快开始运行,但是如果进程中的其他线程已经忙,我希望避免运行这种低优先级的任务。
答案 0 :(得分:0)
一种简单的方法是跟踪等待任务的线程数,并且如果至少有x个等待线程,并且如果没有为{{运行擦除,则运行清理任务1}}时间等。
x