|
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4597 Wohnort: ~/
|
Verfasst am: 03.12.2015, 17:39 Titel: |
|
|
Zitat: | Da ich den Quellcode etwas umständlich geschrieben habe, müsste ich demnach auch Laufvariablen mit einem Mutex versehen? |
Wenn deine Laufvariablen von mehreren Threads geteilt werden, dann würde ich mir ganz dringend Gedanken über eine sinnvollere Strukturierung machen. Geschützt werden müssen alle Variablen und anderweitigen Zugriffe, die von mehreren Threads geteilt werden - alle Variablen, die ausschließlich von einem einzigen Thread verwendet werden, müssen nicht geschützt werden (bzw. es macht auch keinen Sinn, sie zu schützen).
Code: | Vorallem, wenn ich auch noch ein Unterprgramm aufrufe! |
In aller Regel würde ich sicherstellen, dass ich den Mutex wieder entsperre, bevor ich ein Unterprogramm aufrufe. Wenn das Unterprogramm selbst auf geteilte Variablen zugreifen muss, kann es dann selbst eine Sperrung vornehmen.
Vielleicht mal als Faustregel: Der Spruch "doppelt gesperrt hält besser" darf bei einem Mutex nicht beherzigt werden - doppelt gesperrt ist nämlich identisch mit einem Deadlock.
Ich habe übrigens auch früher schon einmal auf das Mutex-Kapitel in meinem Buch hingewiesen; da sind ein paar Fallen aufgelistet. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
|
ALWIM
Anmeldungsdatum: 08.08.2006 Beiträge: 1037 Wohnort: Niederbayern
|
Verfasst am: 03.12.2015, 18:55 Titel: |
|
|
nemored hat Folgendes geschrieben: | Da ich den Quellcode etwas umständlich geschrieben habe, müsste ich demnach auch Laufvariablen mit einem Mutex versehen? |
Wenn deine Laufvariablen von mehreren Threads geteilt werden, dann würde ich mir ganz dringend Gedanken über eine sinnvollere Strukturierung machen. Geschützt werden müssen alle Variablen und anderweitigen Zugriffe, die von mehreren Threads geteilt werden - alle Variablen, die ausschließlich von einem einzigen Thread verwendet werden, müssen nicht geschützt werden (bzw. es macht auch keinen Sinn, sie zu schützen).
Dann ist es also besser 2 Verschiedene Variablen (i + k) bzw. 2 identische Unterprogramme zu verwenden. Ok, hmm? Schön langsam komme ich dem Ziel näher! Ich bedanke mich recht herzlich für die Antwort! Das hilft mir enorm weiter.
Gruß
ALWIM _________________ SHELL SHUTDOWN -s -t 05 |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|