A minimally functional thread system has been given, my job is to extend the functionality of this system to gain better understanding of synchronization problems.