用到的函数有
sched_get_priority_max //获取当前线程最大优先级PTHREAD_SCOPE_SYSTEM和PTHREAD_SCOPE_PROCESS,前者表示与系统中所有线程一起竞争CPU时间,后者表示仅与同进程中的线程竞争CPUpid_t dvrPid = -1;
pid_t exitDvr = -1;
int status = 0;
int ret = APP_OK;
pthread_t tid;
pthread_attr_t attr;
int policy = 0;
struct sched_param param = {0};
sched_get_priority_max(policy);
pthread_attr_init(&attr);
pthread_attr_getschedparam(&attr, ¶m);
param.sched_priority = policy;
pthread_attr_setschedparam(&attr, ¶m);
pthread_attr_setscope(&attr, PTHREAD_SCOPE_PROCESS);
ret = lthread_create(&tid, &attr, smwatchDogThread, NULL);
if(APP_OK != ret)
{
dbgPrintfl(WARN,"readKeyThread create fail\n");
ret = APP_FAIL;
}
线程优先级设置与创建
本文介绍了一个关于线程创建及优先级设置的示例,包括如何使用sched_get_priority_max函数获取最大优先级,以及如何通过pthread_attr_set*系列函数来设置线程属性,并最终调用pthread_create创建线程。
609

被折叠的 条评论
为什么被折叠?



