Was kostenlose Tools oder Strategien können ein Multi-Threading Korruption Fehler helfen debug?

StackOverflow https://stackoverflow.com/questions/2741634

  •  02-10-2019
  •  | 
  •  

Frage

ich eine Client-Server-Anwendung haben mit Multi-Threading. Die Server-Seite schlägt fehl mit einer std :: Liste beschädigt zu werden in einem SEGV führt. Ich vermute, dass es irgendeine Art von Querfaden Timing-Problem ist los, wo die beiden Threads den std :: Liste zur gleichen Zeit aktualisieren und wodurch es beschädigt werden.

Bitte kostenlose Tools empfehlen, diese oder Strategien zu verfolgen, die hilfreich sein könnten.

War es hilfreich?

Lösung

Wenn Sie die gemeinsam genutzte Datenstruktur kennen, die durch den gleichzeitigen Zugriff beschädigt wird, dann eine Mutex auf die Datenstruktur gelegt, so dass nur ein Thread zu einem Zeitpunkt zugreifen können, versuchen Sie es erneut.

Sie müssen sicherstellen, dass keine gemeinsamen Daten durch gleichzeitige Threads aktualisiert werden. Es ist OK für mehrere Threads zu lesen, Sie müssen vorsichtig von mehreren Threads zu tun zu lesen und einem oder mehr Schreiben.

können Sie angeben, welches Betriebssystem Sie verwenden und welche Compiler?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top