Vector + Thread
-
Hallo ich bin am verzweifeln.
Ich versuche gerade einen globalen mehrdimensionalen Vektor in einem Thread zu .resizen und zu füllen. Wenn ich ihn resize dann braucht das ewig und der Arbeitsspeicherverbrauch geht auf über 1 gig...
Ohne den resize geht es nur wenn ich den Vektor auserhalb des Threades nicht mehr benutze. Sonst bekomm ich immer die Meldung:Microsoft Visual Studio C Runtime Library hat einen schwerwiegenden Fehler in MPr.exe gefunden. Klicken Sie auf "Unterbrechen", um das Programm zu debuggen, oder auf "Weiter", um es zu beenden.Ich hoffe ihr könnt mir helfen...Bin echt am verzweifeln..
Edit: Habs jetzt anderes gemacht, bin aber immer noch an einer Lösung interesiert..
Mfg Tim
-
Wie wäre es mal mit etwas Code, den Du uns zeigst.
Könnte es sein, dass Du etwas zuviel Speicher anforderst?
-
Martin Richter schrieb:
Wie wäre es mal mit etwas Code, den Du uns zeigst.
Könnte es sein, dass Du etwas zuviel Speicher anforderst?
Das mit dem Code geht schlecht...Ich habs schon anders gemacht..
Das mit dem Speicher kann allerdings sein. Der Vektor war ungefähr [6000][4]..Mfg Tim
-
Du darfst nicht in einem Thread .resize machen, und dann gleichzeitig noch aus anderen Threads darauf zugreifen. Kein Wunder dass das abstürzt. Das kleine 1x1 der Threads sollte man schon können.
-
Thread1:
EnterCriticalSection // resize LeaveCriticalSectionThread2:
EnterCriticalSection // benutze vector... LeaveCriticalSection
-
Alles klar vielen Dank.