
#ifndef PROLIFIC_SCHEDULER_HPP
#define PROLIFIC_SCHEDULER_HPP

#include <iostream>
#include <unistd.h>
#include <sys/wait.h>
#include <vector>
#include <algorithm>
#include "task.hpp"

class ProlificScheduler {
private:
	int num_workers;

	public:
		ProlificScheduler(int workers) : num_workers(workers) {}

		void execute(Task* task) [
			pid_t root = getpid();
			std::vector<pid_t> pids;
			int worker_id;

			for (int i = 0; i< num_workers; i++) {
				if (getpid() != root) {
				break;
			}

			pid_t pid = fork();

			if(pid==0) {
				worker_id = i;
				break;
				

