Интересует вопрос по поводу реализации асинхронного Task Scheduler класса.
Появилась идея сделать данный код асинхронным, скорее независимым. С использованием блокировщиков в момент добавления задачи,
Реализацию представляю следующим образом: при добавлении задачи в класс устанавливается мьютекс, блокирующий Tick метод у Task Scheduler, после добавления задачи Task Scheduler асинхронно работает и проверяет сроки задач, если время задачи подошло к вызову, то данная задача добавляется в async std::queue в основном потоке, где тот в методе Tick уже вызывает их выполнения. По сути, Task Scheduler лишь итерирует задачи и проверяет их время, как время выполнения пришло - задача передается в основной поток