Hallo liebe Strippenzieher,
in meinem neuesten Mess-Projekt will ich mal eine Thematik umsetzen, an die ich mich bisher nur sehr vorsichtig rangewagt habe: ein "modularer" Programmaufbau.
Einfach gesagt stelle ich mir darunter vor, dem Nutzer eine Fernbedienung, das main vi, vorzugeben, von dem aus er die Möglichkeit hat, verschiedene Programmaspekte (Einstellungen, Messungen und Auswertungen) als separate Fenster aufzurufen.
Die Main soll hierbei als zentraler Knotenpunkt dienen, welche die gesamten Projektdaten enthält und außerdem auch die Kommunikation mit und zwischen den Modulen ermöglicht.
Die Kommunikation und der Datentransfer zwischen den Modulen will ich momentan mit Referenzen erledigen. Jedes Modul bekommt eine Referenz auf die Projektdaten des Hauptmoduls, um so Daten aufzurufen, (signalisierend) zu ändern. Das funktioniert soweit in den ersten Tests auch sehr zufriedenstellend.
Meine Frage nun dazu:
Ich sehe ein größeres(?) Problem bzgl. Race-Conditions auf mich zu rasen (haha), d.h. dass ich ab einer gewissen Parallelisierung der Module nicht mehr gewährleisten kann, dass ein Modul gerade die frisch geänderten Daten eines anderen Moduls überschreibt - wie kann ich diesen Fall verhindern, bzw. mein Design verbessern?
Danke für eure Meinungen,
Grüße,
Kasi