30 Scheduler(int32_t numberOfThreads);
31 void schedule(async::task_run_handle t);
33 CesiumImpl::ImmediateScheduler<Scheduler> immediate{
this};
35 async::threadpool_scheduler scheduler;
38 static auto createPreRun(ThreadPool::Scheduler* pScheduler) {
40 [pScheduler]() { ThreadPool::_scope = pScheduler->immediate.scope(); };
43 static auto createPostRun() noexcept {
44 return []()
noexcept { ThreadPool::_scope.reset(); };
47 static thread_local CesiumImpl::ImmediateScheduler<Scheduler>::SchedulerScope
50 std::shared_ptr<Scheduler> _pScheduler;
52 template <
typename T>
friend class Future;
53 template <
typename T>
friend class SharedFuture;
54 friend class AsyncSystem;