1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 07:58:11 +00:00

Kernel: Implement thread priority queues

Rather than walking all Thread instances and putting them into
a vector to be sorted by priority, queue them into priority sorted
linked lists as soon as they become ready to be executed.
This commit is contained in:
Tom 2021-01-22 16:56:08 -07:00 committed by Andreas Kling
parent c531084873
commit 03a9ee79fa
5 changed files with 124 additions and 58 deletions

View file

@ -70,6 +70,9 @@ public:
static void idle_loop(void*);
static void invoke_async();
static void notify_finalizer();
static Thread& pull_next_runnable_thread();
static bool dequeue_runnable_thread(Thread&, bool = false);
static void queue_runnable_thread(Thread&);
template<typename Callback>
static inline IterationDecision for_each_runnable(Callback);