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:
parent
c531084873
commit
03a9ee79fa
5 changed files with 124 additions and 58 deletions
|
@ -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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue