【发布时间】:2011-12-06 21:40:00
【问题描述】:
我正在处理我的应用程序中的线程优先级。有一个使用SCHED_RR 调度的实时线程。我使用pthread_setschedparam 设置此策略及其优先级。 pthread_setschedparam 将线程 ID 作为第一个参数,因此在使用 boost::thread 创建线程后,我可以设置其实时优先级。
然而,另一个线程应该有一定的nice-level,但没有实时调度。我可以使用
pid_t tid;
tid = syscall(SYS_gettid);
int ret = setpriority(PRIO_PROCESS, tid, nicelevel);
将其 nice 级别设置为ǹicelevel,但这只有在我修改线程函数以包含上述行时才有效。有没有办法从创建线程的方法中设置 nice 级别?
谢谢!
【问题讨论】:
标签: c++ linux pthreads scheduling