globale Funktion für alle threads



  • fdfdg schrieb:

    Shade Of Mine schrieb:

    fdfdg schrieb:

    Oder anders gefragt: Hat man nicht ein 100% sicheres Verhalten, wenn man alle solche "kritischen" Datenzugriffe durch Mutexe bzw Critical Sections absichert?

    Klar. Wenn du alles korrekt synchronisierst, dann ist alles korrekt synchronisiert. Der Tricky Part ist nur alles korrekt zu synchronisieren.

    Jo, aber dann kann man damit den Multithreading-Neulingen doch eine einfache goldene Regel an die Hand geben. Dass das nicht immer einfach auszuführen ist, ist klar; immerhin aber verständlich und einfach zu merken 👍

    Nein. Wenn man sich einfach für alles, was irgendwo in Reichweite ist, vorsichtahlaber erstmal einen Mutex sichert, kommt man schnell zu Deadlocks, weil man sich eben zu viele Mutexe zusammenrafft. "Goldene Regel für Neulinge" heißt grade bei Neulingen viel zu schnell "Alles nach Schema F, Hirn aus". Grade als Neuling sollte man hier aber Hirnschmalz investieren, um rauszufinden wo man sich absichern muss und wo nicht.



  • @fdfdg:
    Ich hab' mal probiert ein paar einfache Regeln zu definieren. Ich bin nicht weit gekommen. Alleine schon die Erklärung welche Zugriffe synchronisiert werden müssen, und welche nicht. Erklär es einfach, und Anfänger haben den Eindruck dass sie bestimmte Dinge nicht synchronisieren müssen, wo es aber nötig ist. z.B. das Schreiben eines einzelnen Integers. Oder etwas ala "i++". Erklär es vollständig, und der Artikel explodiert, weil du erstmal 10 andere Begriffe erklären musst.

    Anders gesagt: das Problem ist, den Neulingen überhaupt mal klarzumachen was das Problem ist. Denn die wenigsten gesunden Programmierer suchen Lösungen für Probleme, von denen sie gar nicht wissen, dass sie sie haben.

    Wenn du meinst du kannst sowas schreiben: schreib es. Ich les es mir gerne durch, und schreib dir wo ich Probleme/Unklarheiten/... sehe.



  • hustbaer schrieb:

    fdfdg schrieb:

    Wir bräuchten mal einen kurzen, knackigen Thread-Safety FAQ-Eintrag.

    Ein "kurzer, knackiger" FAQ-Eintrag zu einem sehr komplexen Thema ... wie soll das denn gehen?

    So:
    FAQ-Thread-Safety:
    Finger weg, wenn man keine Ahnung hat. :p



  • Franz Will schrieb:

    Ob PostMessage() threadsafe ist muss ich nochmal nachschalgen, aber danke für den Tipp.

    Und beim Konstruktor von string auch nachschauen.


Anmelden zum Antworten