Threads und CriticalSection
-
Hallo,
ich benutze zum ersten mal Threads. Das Programm (Form1, Form2 und ein Thread) läuft bleibt aber gelegentlich ( mal nach 1 min mal nach 2 Tagen) stehen.
Häufig kommt es auch vor, dass das Programm Labeleinträge einfach in die linke obere Ecke des Bildschirm schreibt obwohl da überhaupt kein Label ist.
Ich habe daher das Gefühl, dass meine CriticalSections nicht richtig definiert sind. Die Frage ist also, welche Zugriffe gesichert werden müssen?
Mir ist klar, dass ein gleichzeitiger Zugriff der Form1 und des Threads auf ein Label z.B. Form1->Label1 gefährlich ist, wie ist es jedoch mit dem gleichzeitigen Zugriff der Form1 auf Form1->Label1 und des Threads auf
Form1->Label2 aus? Oder ist sogar der Threadzugriff auf ein beliebiges Element der Form1 gefährlich ( z.B. Form1->Label1 und gleichzeitig Form1->Shape1), wenn diese auch läuft?Ich hoffe, ihr konnt mir weiterhelfen!
-
Hallo
Dafür alleine brauchst du doch gar keine CriticalSection, dafür reicht doch die Thread-eigene Synchronize-Methode die du auch benutzten must. (In dem verlinktem Artikel nach 'Synchronize' suchen)
bis bald
akari