Allows multiple simultaneous tasks, assigned to three separate queues with separate priorities.
New jobs in the HIGHEST priority queue can take priority over other HIGHEST, and any LOW or STREAM priority tasks.
LOW priority tasks can take priority over STREAM priority tasks, but not HIGHEST.
STREAM priority tasks only run if no thread is currently processing higher priority tasks.
Some development still needed to actually implement that priority system on Windows and Linux, due to some very awkward intricacies in how mingw decides which part of process management is actually implemented.
Allows multiple simultaneous tasks, assigned to three separate queues with separate priorities.
New jobs in the HIGHEST priority queue can take priority over other HIGHEST, and any LOW or STREAM priority tasks.
LOW priority tasks can take priority over STREAM priority tasks, but not HIGHEST.
STREAM priority tasks only run if no thread is currently processing higher priority tasks.
Some development still needed to actually implement that priority system on Windows and Linux, due to some very awkward intricacies in how mingw decides which part of process management is actually implemented.