However, this scheduling scheme is vulnerable to process or thread  lockout: since priority is given to higher-priority tasks, the lower-priority tasks could wait an indefinite amount of time. One common method of arbitrating this situation is aging, which gradually increments the priority of waiting processes and threads, ensuring that they will all eventually execute.
The scheduling strategy can be disrupted by process or thread deadlock: as higher-priority tasks are prioritized, lower-priority tasks may experience indefinite delays. A solution to this problem is aging, a method that progressively raises the priority of waiting processes and threads until they all get executed.