Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Frage zum Multithreading (https://www.delphipraxis.net/184753-frage-zum-multithreading.html)

Cubysoft 18. Apr 2015 19:33

Frage zum Multithreading
 
Hallo,

Ich arbeite zurzeit zum ersten Mal mit der TTask Klasse in Delphi und bin mir gerade nicht sicher, ob mein Code so wie er jetzt ist immer Funktioniert. Ich erstelle 3 parallele Tasks, die auf eine im Hauptthread liegende TList zugreifen, diese aber nur lesen. Ich habe die 3 Threads gleichzeitig laufen lassen und alles lief ohne Probleme, ist das aber wirklich sicher? Können 3 Threads gleichzeitig aus einer TList Daten lesen?

Danke!

mkinzler 18. Apr 2015 19:44

AW: Frage zum Multithreading
 
So lange nur gelesen wird, funktioniert das, so bald aber geschrieben wird ( auch vom hauptthread) gibt es mit großer Wahrscheinlichkeit Probleme.

himitsu 18. Apr 2015 20:35

AW: Frage zum Multithreading
 
"Lesen" kann aber auch schreiben bedeuten, siehe Streams und DataSets, wo beim Lesen ein Datenzeiger "verändert" wird.
Eine TList ist threadsave, solange garantiert alle nur lesen und keiner gleichzeitig was daran verändert. (hinzufügen/entfernen/ersetzen)

Es kommt also auch darauf an, was in deiner Liste steckt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:27 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz