我想以这种方式使用调度程序:
例子
- 3 个具有不同优先级的 pthread ( 0 , 50 , 99 )
如果 99 的 pthread 正在运行,则不允许其他 pthread 运行。执行顺序应以优先级为导向
我的实现:
每个 pthread 都是使用该序列创建的
struct sched_param schedparam; // thread scheduler parameter
pthread_create(threadPtr,NULL,(void *)entryPt,NULL);
pthread_attr_setschedpolicy(attrPtr, SCHED_FIFO);
schedparam.__sched_priority=priority;
pthread_attr_setschedparam(attrPtr, &schedparam );
pthread_setschedparam(threadId,SCHED_FIFO,&schedparam );
但它不起作用。
行为:
pthread 的执行顺序与创建它们的顺序相同。