4#include "Stroika/Foundation/Math/Common.h"
19 return Options{.fThreadCount =
static_cast<unsigned int> (fThreads_.
size ()),
20 .fThreadPoolName = fThreadPoolName_,
21 .fQMax = fDefaultQMax_,
22 .fCollectStatistics = this->fCollectStatistics_};
27 return AddTask (task, *fDefaultQMax_, name);
30 return AddTask_ (task, name);
47 inline bool ThreadPool::TaskInfo::IsRunning ()
const
49 return fRunningSince.has_value ();
57 inline optional<Time::DurationSeconds> ThreadPool::Statistics::GetMeanTimeConsumed ()
const
chrono::duration< double > DurationSeconds
chrono::duration<double> - a time span (length of time) measured in seconds, but high precision.
nonvirtual TaskType AddTask(const TaskType &task, const optional< Characters::String > &name=nullopt)
nonvirtual void WaitForTasksDoneUntil(const Traversal::Iterable< TaskType > &tasks, Time::TimePointSeconds timeoutAt) const
nonvirtual void WaitForTasksDone(const Traversal::Iterable< TaskType > &tasks, Time::DurationSeconds timeout=Time::kInfinity) const
nonvirtual Options GetOptions() const
Iterable<T> is a base class for containers which easily produce an Iterator<T> to traverse them.
nonvirtual size_t size() const
Returns the number of items contained.
unsigned int fNumberOfTasksReporting