The goal of this project is to add traffic lights to a pre-existing city traffic simulation. Each intersection must be equipped with a traffic light, and thread-safe communication protocol must be established between vehicles and intersections to complete the simulation. That goal is accomplished through the use of standard library facilities for concurrent execution (mutexes, locks, and message queues) so to implement the traffic lights and integrate them properly in an existing code base.
The simulation includes traffic lights that turn red and green, effectively controlling traffic.