To help solidify the concepts that we learned about in the previous sections of this chapter, we will design and implement a small demo program, illustrating how a modern Linux pthreads application can set an individual thread's scheduling policy and priority to make threads (soft) real-time.
Our demo app will have a total of three threads. The first is main(), of course. The following bullet points show what the application is designed to do:
- Thread 0 (main(), really):
This runs as a SCHED_OTHER scheduling policy with real-time priority 0, which is the default. It does the following:
- Queries the priority range of SCHED_FIFO, printing out the values
- Creates two worker threads ...