尝试将调度策略设置为我的线程的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上。
答案 0 :(得分:1)
如果您在cygwin中阅读了pthreads的文档:
https://sourceware.org/pthreads-win32/announcement.html
您可以看到仅支持SCHED_OTHER
:
pthread_attr_setschedpolicy(仅支持SCHED_OTHER)