Broadcast Protocol Visualization Website

Supplies

Two supplies are sent to the docks at a time and have to wait for the supplies to be retreived before more can be sent to the docks

Wait/Down time

Wait time occurs when the settlement that the supplies arrived for is busy distributing/eating supplies from the last delivery

Multi-Threaded

Each settlement has its own thread  and this thread sleeps until the necessary supplies are available. all threads are joined at the end

Description:

This Rust project makes use of mutexes to guard data between processes. There are three settlements that produce their own unique product with each settlement needing the other two products to survive and keep producing. Products are distributed in two's and the distributer only has access to those two products until both are delived to the right settlement (The one that needs both supplies). This program protects against deadlock and live-lock, keeping the settlements alive for the specified time given by the user.

Notable Skills:

Rust | Mutex's | Multi-Process | Shared Memory