c – 在进程内调度线程

假设我有一个包含4个线程的进程,我希望它们根据特定的调度算法运行.我搜索并找到了pthread_setschedparam和sched_setschedparam函数来选择算法和设置线程的优先级,但是我看到一件事情还不清楚–pthread_setschedparam接受一个线程名称并设置它自己的调度策略.具体是什么意思,因为我认为流程中的所有线程都是根据一个策略来安排的,该策略是为整个流程设置的.
这是否意味着如果我使用sched_setschedparam并设置策略(因为它通过它的PID引用进程),它将确保该进程中的线程根据选定的调度策略运行?

我写的代码是针对Linux的,我使用的是boost,但是不得不求助于pthreads.

解决方法:

pthread_setschedparam设置单个线程的调度参数. sched_setscheduler设置整个进程的调度参数.不同的线程确实可以有不同的调度策略.

上一篇:java – Quartz调度程序中断作业?


下一篇:使用spring批处理或仅使用Quartz调度程序调度作业