Developing simple version of thread pool and utilizing it to complete a workload in parallel for Game of Life.
game of life example https://playgameoflife.com.
the task description can be found HERE.
Implementing Semaphore and PCQueue (which is independant on the Semaphore).
Implementing the multi-thread game using a thread pool, where each thread gets a task from the PCQueue while using semaphores for syncronizing.