vibe-core/source/vibe/core
Sönke Ludwig 6a2dfa468b Implement priority based task scheduling.
1. Removes the marker task used by schedule() and instead limits the number of task resumptions to the initial length of the task queue
2. Assigns a static and a dynamic priority to each task. The dynamic priority starts with the same value as the static priority and gets incremented by the static priority each time the task gets overtaken by a higher priority task, eventually leading to the task becoming the highest priority (unless the static priority is zero). Tasks with a higher dynamic priority generally take precedence, unless the concurrency exceeds 10 scheduled tasks, in which case the front of the queue is scheduled in normal FIFO order.
2020-03-14 20:37:33 +01:00
..
internal Handle terminated eventcore drivers gracefully when releasing handles. 2019-06-20 11:56:22 +02:00
args.d Correct copyright holder. 2020-01-27 19:20:52 +01:00
channel.d Correct copyright holder. 2020-01-27 19:20:52 +01:00
concurrency.d Correct copyright holder. 2020-01-27 19:20:52 +01:00
connectionpool.d Correct copyright holder. 2020-01-27 19:20:52 +01:00
core.d Implement priority based task scheduling. 2020-03-14 20:37:33 +01:00
file.d Correct copyright holder. 2020-01-27 19:20:52 +01:00
log.d Correct copyright holder. 2020-01-27 19:20:52 +01:00
net.d Correct copyright holder. 2020-01-27 19:20:52 +01:00
path.d Fix documentation warning on parameter 2019-12-17 17:12:56 +09:00
process.d s/registerProcess/adoptProcessID/g 2019-06-04 10:13:00 +10:00
stream.d Correct copyright holder. 2020-01-27 19:20:52 +01:00
sync.d Remove SpinLock and use core.sync.mutex.Mutex instead. 2019-09-19 11:25:14 +02:00
task.d Implement priority based task scheduling. 2020-03-14 20:37:33 +01:00
taskpool.d Implement priority based task scheduling. 2020-03-14 20:37:33 +01:00