CThread?

damaja

Grünschnabel
Hallo,
Ich habe ein kleines Dialogfenster in einer größeren Anwendung. In diesem Fenster soll eine aufwendige Diagnose dargstellt werden. Um aber mein Hauptprogramm nicht zu sehr zu belasten, will ich das ganze in einen Thread packen.
Nach einigen Recherchen habe ich dann CThread gefunden (http://www.codeproject.com/threads/cthread.asp). Doch leider werde ich nicht so 100% daraus schlau. Kennt sich villeicht schon jemand damit aus und kann mir ein paar tipps geben?

Ich danke euch schon mal für eure Hilfe!
 
Was genau willst du den Wissen ?

Ich habe das meist so gelöst, dass ich mit CreateThread ein Thread erzeugt habe und entsprechen Nachrichten an das Fenster mit PostMessage gesendet habe.
Die Frage ist wie die Kommunikation ist Thread zu Dialog, Dialog zu Thread, oder beides ... je nach dem kann man mirt Zuständen arbeiten die mit Mutexes oder Semaphoren geschützt verwendet werden.
 
Entschuldige. Hat ein bischen länger gedauert.

Ich habe das jetzt wie auf dieser Seite beschrieben gelöst http://www.firstobject.com/dn_thread.htm .
Das erschien mir etwas einfacher und für meine Zwecke ausreichend.
Einträg in einer Liste konnte ich ohne Probleme erstellen. Nur mit dem UPdaten der anderen Member hattte ich noch probleme. Doch das scheint jetzt auch zu funktionieren.

Eine Frage hätte ich aber noch. Ich setze ein CMutex ein um die Membervarieblen der Klasse zu sperren. Doch was genau wird damit gesperrt. Ich habe noch einen Pointer auf einen weiteren Dialog, von dem aus ich in eine Datei schreiben möchte. Muss ich die Member der verlinkten Klasse auch mit einem seperaten CMutex sperren?

Danke nochmal für deine Hilfe!
 
Was du mit dem Mutex sperrst ist deine Sache , normalerweise muss man vor jedem Zugriff (lesen /schreiben) auf Variablen die von mehr als einem Task zugegriffen werden durch Mutexes gesperrt werden.

Ein Mutex stoppt ein Task wenn du es lockst so lange bis ein anderer den Mutex unlocked. Der Anfangszustand eines Mutexesist in der Regel unlocked.
 

Neue Beiträge

Zurück