4

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

我正在编写的代码是针对 Linux 的,我使用的是 boost,但是这部分不得不求助于 pthreads。

4

1 回答 1

3

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

于 2012-08-20T21:26:31.337 回答