このようにスケジューラを使用したい:
例
- 優先度の異なる 3 つの pthreads ( 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 は、作成された順序で実行されます。