Øvelse+5.2+-+Thread+Communication+2

=Øvelse 5.2 - Thread Communication 2=

Opgave 1: Opret en trådfunktion for Airspeed og Heading som venter på at den modtager noget fra den samme msgQueue

Der oprettes først 2 structs og en enumeration. Den ene struct er en container til samtlige køer der skal bruges i systemet. Den anden struct bruges til at holde mængden airspeed eller heading skal ændres til. Enumerationen bruges af id'et til at bestemme om det er en airspeed eller heading

airspeed og heading oprettes på stort set samme måde:
 * Kø-structen hentes fra parameteren og der tilgås den kø der skal bruges.
 * Der hentes fra køen og der udskrives: "Airspeed is set to: " eller "Heading is set to: "

Opgave 2: Opret en trådfunktion for interpreteren som venter på at der er noget i dennes kø og sender det til heading køen eller airspeed køen, alt efter hvad der er modtaget.
 * Kø-structen hentes fra parameteren og samtlige køer tilgås (Den skal modtage fra den ene kø, og sende til enten airspeed eller heading køen.
 * Beskeden hentes fra interprator køen og på baggrund af dennes id sendes den til rigtige output kø

Opgave 3: Opretter en trådfunktion for input som venter på input, checker om det er heading eller airspeed, validerer tallet fra brugeren og sender denne til interpratoren
 * Kø-structen hentes fra parameteren og der tilgår interprator køen.
 * Opretter en ny besked og fylder den med brugeren tal og et id der beskriver om det er heading eller airspeed.
 * Tallet valideres, og brugeren for lov til at skrive et nyt tal hvis tallet er for stort eller for lille
 * Beskeden sendes til køen.
 * Hvis brugeren trykker på "Q" lukkes systemet.

Opgave 4: Trådene og køeren laves.

Nedenunder kan filen hentes: