AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Hauptthread splitten und wieder zusammenführen
Thema durchsuchen
Ansicht
Themen-Optionen

Hauptthread splitten und wieder zusammenführen

Ein Thema von Patrick · begonnen am 1. Jul 2010 · letzter Beitrag vom 2. Jul 2010
 
Patrick

Registriert seit: 15. Sep 2003
184 Beiträge
 
Delphi 2010 Professional
 
#1

Hauptthread splitten und wieder zusammenführen

  Alt 1. Jul 2010, 14:35
Hallo,

Ich möchte eine Funktion parallelisieren. Der Code der die Funktion aufruft ist wurscht. Den Code meiner Funktion kann ich spielend parallelisieren. Aber der Code (Aufrufstack), der nach dem Aufruf meiner Funktion bearbeitet wird, ist der Knackpunkt. Ich weis nicht, was danach passiert. Die Funktion wird an X unterschiedlichen Stellen aufgerufen. Erstelle ich einfach nur Subthreads, die meine Aufgabe erfüllen, läuft der Hauptthread weiter und will Ergebnisse ausspucken, die noch gar nicht berechnet wurden. Er solle aber warten, bis meine Subthreads zu ende gerechnet haben. Den Hauptthread kann ich aber nicht so einfach pausieren, da sonst das Programm hängt und die Subthreads keine Synchonizes mehr machen können. Bleiben zwei Möglichkeiten: Ich sage dem Haupttherad er soll an der aktuellen Position Pausieren, aber trotzdem ProcessMessages abarbeiten. Oder ich merke mir irgendwie den Aufrufstack und unterbreche ihn an dieser Stelle.

Code:
     +-----+
     +-----+
-----+?????+-------
|    |      |
|    |      Code nach Funktionsaufruf
|    Funktionsaufruf
Code vor Funktionsaufruf
Sinn des ganzen ist es einfach für die spezielle Funktion alle CPU-Kerne zur Berechnung zu bemühen.
Genieße jede Minute deines Lebens, denn sie wird nicht wieder kommen.
  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 12:41 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