summaryrefslogtreecommitdiff
path: root/Runtime/Threading/JobSystem.h
blob: c95037c030ce60649eb4dda605e13e458e90bb23 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#pragma once
#include "Runtime/Utilities/Singleton.h"
#include "Runtime/Threading/Thread.h"
#include <vector>

class JobSystem : public Singleton<JobSystem>
{
public:
	JobSystem();
	~JobSystem();

	void AddJobAtEnd(Job* job);

	void Initilize(int workThreadCount = 1);
	void Dispatch(void* param);

private:
	WorkThread* SelectThread();

	std::vector<WorkThread*> m_Threads;

};