AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Multithreading und Globale Funktionen
Thema durchsuchen
Ansicht
Themen-Optionen

Multithreading und Globale Funktionen

Ein Thema von schwa226 · begonnen am 6. Jan 2011 · letzter Beitrag vom 14. Feb 2011
 
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#22

AW: Multithreading und Globale Funktionen

  Alt 14. Feb 2011, 13:57
Ne, Data gehört zu jedem Thread selber der die Funktion aufruft.
D.h. jeder Thread ruft die Funktion auf mit seinen eigenen privat deklariertden Data mit unterschiedlicher länge. Ich bin mir halt nicht sicher, wenn sich schon ein Thread in der Funktion befindet das Result von einem anderen Thread wieder mit dem Result :=''; wieder zurückgesetzt wird. Oder hat jeder Aufruf sein eigenes Result? Oder ob dadurch das High(Data) auch verbogen wird?
Lokale Variabeln gelten ja für jeden eigenen Aufruf/Thread selber.
Damit (und dass jeder Thread einen eigenen Stack hat) ist doch alles gesagt? Es braucht keine Critical Section, da hier kein Zugriff auf gemeinsame Speicherbereiche erfolgt.
Auch High() wird dir immer das richtige Ergebnis zurückliefern. Wäre auch schlimm wenn nicht

Ok, danke!
Dann werde ich das mal probieren und sehen ob es zu Exceptions kommt.
Mit dem "verbiegen" des High(Data) hatte ich gemeint, wenn der erste Thread z.B. mit Data[len=500] aufruft. Der zweite dann mit Data[len=3000]. Wenn nun auch i beim ersten Thread bis 2999 raufgezählt wird, dann gibt's natürlich Probleme weil der erste ja nur bis 499 geht.
Jeder Thread hat seine eigene Schleifenvariable i. Und auch der Vergleichswert (also das Ergebnis von High()) hat jeder Thread für sich.

Geändert von jfheins (14. Feb 2011 um 14:00 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz