将线程策略设置为 SCHED_RR 时发生未知错误
Unknown error when setting thread policy to SCHED_RR
我在尝试将我的线程的调度策略设置为 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。
我正在 Windows 7 使用 cygwin。
如果您阅读了 cygwin 中 pthreads 的文档:
https://sourceware.org/pthreads-win32/announcement.html
可以看到只支持SCHED_OTHER
:
pthread_attr_setschedpolicy (only supports SCHED_OTHER)
我在尝试将我的线程的调度策略设置为 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。
我正在 Windows 7 使用 cygwin。
如果您阅读了 cygwin 中 pthreads 的文档:
https://sourceware.org/pthreads-win32/announcement.html
可以看到只支持SCHED_OTHER
:
pthread_attr_setschedpolicy (only supports SCHED_OTHER)