将线程策略设置为SCHED_RR时出现未知错误

时间:2018-02-20 09:17:36

标签: c pthreads cygwin scheduling

尝试将调度策略设置为我的线程的SCHED_RR时,我得到一个未知的错误代码(实际上是48)。

以下是我的代码示例:

#include <sched.h>
#include <pthread.h>
#include <stdio.h>

int main() {
    pthread_attr_t attr;

    pthread_attr_init(&attr);
    pthread_attr_setinheritsched(&attr, PTHREAD_EXPLICIT_SCHED);
    int ret = pthread_attr_setschedpolicy(&attr, SCHED_RR);
    printf("ret: %s\n", strerror(ret));

    return 0;
}

跟踪:

ret: Unknown error

为什么会这样?它不像我在其他问题中看到的那样是EPERM。

我在使用cygwin的Windows 7上。

1 个答案:

答案 0 :(得分:1)

如果您在cygwin中阅读了pthreads的文档:

https://sourceware.org/pthreads-win32/announcement.html

您可以看到仅支持SCHED_OTHER

  

pthread_attr_setschedpolicy(仅支持SCHED_OTHER)