DPsim
Loading...
Searching...
No Matches
ThreadListScheduler.h
1/* Copyright 2017-2021 Institute for Automation of Complex Power Systems,
2 * EONERC, RWTH Aachen University
3 *
4 * This Source Code Form is subject to the terms of the Mozilla Public
5 * License, v. 2.0. If a copy of the MPL was not distributed with this
6 * file, You can obtain one at https://mozilla.org/MPL/2.0/.
7 *********************************************************************************/
8
9#pragma once
10
11#include <dpsim/ThreadScheduler.h>
12
13namespace DPsim {
14class ThreadListScheduler : public ThreadScheduler {
15public:
16 ThreadListScheduler(Int threads = 1, String outMeasurementFile = String(),
17 String inMeasurementFile = String(),
18 Bool useConditionVariables = false);
19
20 void createSchedule(const CPS::Task::List &tasks, const Edges &inEdges,
21 const Edges &outEdges);
22
23private:
24 String mInMeasurementFile;
25};
26}; // namespace DPsim
std::unordered_map< CPS::Task::Ptr, std::deque< CPS::Task::Ptr > > Edges
Definition Scheduler.h:31
void createSchedule(const CPS::Task::List &tasks, const Edges &inEdges, const Edges &outEdges)
Creates the schedule for the given dependency graph.