5 #ifndef TCPSPSUITE_PARALLELIZER_HPP
6 #define TCPSPSUITE_PARALLELIZER_HPP
8 #include "../datastructures/maybe.hpp"
9 #include "../util/log.hpp"
23 Parallelizer(Storage & storage, std::string run_id, Randomizer & randomizer);
24 void run_in_parallel(
const std::vector<std::string> & filenames,
25 const std::vector<SolverConfig> & configurations,
26 unsigned int thread_count);
31 Randomizer & randomizer;
34 void run_thread(
int thread_id);
35 Maybe<std::pair<std::string, SolverConfig>> get_next_task();
37 std::mutex queue_mutex;
38 std::vector<std::pair<std::string, SolverConfig>> remaining_tasks;
40 std::vector<std::thread> threads;
45 #endif // TCPSPSUITE_PARALLELIZER_HPP