The Project
I started this project because of my "Multiplayer test" project.
In that project I first used multithreading, and wanted to make a library for it, so I coult always easily implement it on new projects.
This project is still not finished and I have a couple more things I want to implement in it.
The ThreadSystem.
The Threadsystem's purpose is to manage all of the jobs and threads.
With it you can Assign new jobs to be executed.
It also contains all the necessary functions needed for the jobs and threads,
and contains the loop that the threads run until the they are closed.
The ThreadDispatcher
When a job has been completed, something might need to happen on the main thread (for example if the Unity API needs to be used), this is where the ThreadDispatcher comes into play.
You can can queue a method on the ThreadDispatcher, and the Dispatcher will then execute that method on the main thread.