CodeFatal
Erfahrenes Mitglied
Hallo,
ich arbeite momentan an einem Multithreaded Problem und hab da nen böses Problem.
Aber erstmal zu dem was ist.
Ich habe eine Dialogfeldbasierende MFC-Anwendung und zwei mit AfxBeginThread erstellte Worker Thread routinen.
Diesen Routinen übergebe ich beim Start einen zeiger auf eine Daten struktur.
In dieser STruktur ist unteranderem ein Zeiger auf eine CListCtrl zu Debug und Ausgabezwecken.
Jeder zugriff ist durch eine Critical Section geschützt, sodass ich immer nur einen Zugriff gleichzeitig starten kann...So zu mindest der Plan
Dummerweise klappt das aber wohl nicht ganz. Wenn der eine Thread sich schlafen gelegt hat, und der andere schreiben will passiert es leider viel zu oft, das die Funktion CListCtrl::InsertItem(...) nicht zurück kommt.
Hat jemand nen Plan warum?
Hab mir schon überlegt, ob ich ne Message an den Entsprechenden Parent Dlg schicken soll und von da aus die Ausgabe aber eigentlich ist das nicht das was ich möchte.
Danke schon mal für eure Antworten.
Gruss Michael
ich arbeite momentan an einem Multithreaded Problem und hab da nen böses Problem.
Aber erstmal zu dem was ist.
Ich habe eine Dialogfeldbasierende MFC-Anwendung und zwei mit AfxBeginThread erstellte Worker Thread routinen.
Diesen Routinen übergebe ich beim Start einen zeiger auf eine Daten struktur.
In dieser STruktur ist unteranderem ein Zeiger auf eine CListCtrl zu Debug und Ausgabezwecken.
Jeder zugriff ist durch eine Critical Section geschützt, sodass ich immer nur einen Zugriff gleichzeitig starten kann...So zu mindest der Plan

Dummerweise klappt das aber wohl nicht ganz. Wenn der eine Thread sich schlafen gelegt hat, und der andere schreiben will passiert es leider viel zu oft, das die Funktion CListCtrl::InsertItem(...) nicht zurück kommt.
Hat jemand nen Plan warum?
Hab mir schon überlegt, ob ich ne Message an den Entsprechenden Parent Dlg schicken soll und von da aus die Ausgabe aber eigentlich ist das nicht das was ich möchte.
Danke schon mal für eure Antworten.
Gruss Michael