Einzelnen Beitrag anzeigen

Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Variablenübergabe Createthread verständnisproblem

  Alt 19. Jan 2008, 23:12
Du übergibst einen Zeiger auf den String. Du kopierst ihn nicht bei der Übergabe. Und jetzt ist die Frage wer schneller ist. Der Thread mit dem Auslesen des Strings oder der MaintThread mit dem ändern. Und wenn der MainThread ändert, ist die Frage, wo kommt der neue String hin und wird der alte Platz überschrieben. Er könnte sogar ungültig werden, wodurch ein AV kommen müsste.

Andere Fehler, die noch kommen könnten:
1. Du öffnest die Datei zum schreiben. Falls ein anderer Thread die Datei noch offen hat, kommt es zum Fehler. Das ist halt Zufall und kann nicht vorhergesagt werden. Vielleicht kommt ein Threa mal beim schreiben ins stocken, weil die Festplatte grad anderweitig zu tun hat.
[/Roter Kasten]
2. Nimm statt CreateThread besser BeginThread. Dadurch sagst du dem Speichermanager wenigstens noch Bescheid, dass du Multithreaded arbeitest (Achtung: Dann nicht mehr stdcall).
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat