Merge pull request #2260 from Subv/scheduling

Threading: Reworked the way our scheduler works.
This commit is contained in:
bunnei 2016-12-16 00:41:22 -05:00 committed by GitHub
commit cda7210fad
8 changed files with 221 additions and 206 deletions

View file

@ -151,9 +151,15 @@ public:
*/
void RemoveWaitingThread(Thread* thread);
/// Wake up all threads waiting on this object
/**
* Wake up all threads waiting on this object that can be awoken, in priority order,
* and set the synchronization result and output of the thread.
*/
void WakeupAllWaitingThreads();
/// Obtains the highest priority thread that is ready to run from this object's waiting list.
SharedPtr<Thread> GetHighestPriorityReadyThread();
/// Get a const reference to the waiting threads list for debug use
const std::vector<SharedPtr<Thread>>& GetWaitingThreads() const;