21#ifndef HEDGEHOG_SCHEDULER_H
22#define HEDGEHOG_SCHEDULER_H
27#include "../../core/abstractions/base/node/node_abstraction.h"
43 [[nodiscard]]
virtual std::unique_ptr<Scheduler>
create()
const = 0;
48 virtual void spawnThreads(std::set<core::abstraction::NodeAbstraction *>
const &cores,
bool waitForInitialization) = 0;
Scheduler abstraction to manage graph's threads.
virtual void joinAll()=0
Method waiting for all graph's threads termination, called when Graph::waitForTermination() is called...
virtual ~Scheduler()=default
Scheduler default destructor.
virtual void spawnThreads(std::set< core::abstraction::NodeAbstraction * > const &cores, bool waitForInitialization)=0
Spawn the threads of a graph.
Scheduler()=default
Scheduler default constructor.
virtual std::unique_ptr< Scheduler > create() const =0
Definition of virtual constructor.