在C语言中设置线程优先级
我如何知道C中的线程是“正在运行”、“可运行”、“阻塞”还是“终止”。我知道Java中存在这样的函数,但在C中找不到 此外,我需要具有多个优先级的多线程,我使用了pthread\u attr\u setschedparam,使用了SCHED\u RR策略和显式继承,但它似乎不起作用 有什么建议我哪里出了问题吗在C语言中设置线程优先级,c,linux,multithreading,posix,C,Linux,Multithreading,Posix,我如何知道C中的线程是“正在运行”、“可运行”、“阻塞”还是“终止”。我知道Java中存在这样的函数,但在C中找不到 此外,我需要具有多个优先级的多线程,我使用了pthread\u attr\u setschedparam,使用了SCHED\u RR策略和显式继承,但它似乎不起作用 有什么建议我哪里出了问题吗 提前感谢我将告诉您为线程分配调度策略必须遵循的顺序 1) 首先创建pthread\u attr\u attr变量 2) 初始化它-pthread\u attr\u init(&attr)
提前感谢我将告诉您为线程分配调度策略必须遵循的顺序 1) 首先创建
pthread\u attr\u attr
变量
2) 初始化它-pthread\u attr\u init(&attr)
3) 设置显式继承:pthread\u attr\u setinheritsched(&attr,pthread\u explicit\u SCHED)代码>
4) 然后使用pthread\u attr\u setschedpolicy(&attr,SCHED\u RR)设置调度策略代码>
5) 最后创建线程pthread\u create(&thread\u NAME,&attr,FN\u NAME,ARGS)代码>
您可以使用此attr
变量,使用SCHED_RR
策略创建任意数量的线程
现在如何检查是否设置了所需的策略?您必须使用pthread\u attr\u getschedpolicy
函数。参考手册页了解如何使用它
Use不应使用pthread\u attr\u setschedparam
为线程设置SCHED\u RR
策略。此函数用于为线程分配优先级。有关更多详细信息,请参阅。请访问描述的链接。提供必要的详细信息,包括您的代码和相关错误(如果有),将允许这里的每个人帮助您回答问题。@David我看不出这个问题缺少什么。问题是明确的,并提供了答案的所有要求。你错过了什么?OP询问如何查询某些信息,为什么需要代码?嘿,我能知道怎么做吗?您是否使用pthread\u attr\u init
初始化了pthread\u attr\u init
变量?是的,我使用pthread\u attr\u init()初始化了它