Forum: Algorithmen, Datenstrukturen und Klassendesign
by bernhard_LA,
29. Mär 2012
**** Für die Nachwelt ****
DER CODE SPIELT && PERFORMNCE WIE ERWARTET !!!!!!!
vielen Dank für die Inputs zu diesem Thema, ich konnte nur teilweise mit den Posts hier wenig anfange weil sobald ich den Vorschlägen gefogt bin mein Code weniger gespielt hat.
Bei Thread.Create (....) ; Thread.execute kamen ja schon die richtigen Ergebnisse , Bei Thread.Create(....) Threat. Start kamen keine...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by bernhard_LA,
27. Mär 2012
schwierige Geburt für paralleles Schreiben in ein Array :
fehler gefunden !!!!!
Array als Zeiger übergeben und wieder abholen .... dann gehts !!!!
Forum: Algorithmen, Datenstrukturen und Klassendesign
by bernhard_LA,
27. Mär 2012
OK, gestehe das Manual nur halb gelesen zu haben ... man soll also
Thread.Create(....)
Thread.Start;
anstelle meiner Lösung
THread.Create(...)
Threat.Execute;
Forum: Algorithmen, Datenstrukturen und Klassendesign
by bernhard_LA,
27. Mär 2012
meine Leitung ist wohl ziemlich lang ... :(
aber : bin beim Design der Klasse nach http://wiki.delphigl.com/index.php/Tutorial_Multithreading vorgegangenm dort ist ja auch in Thread.execute der Code für die Berechnung eingetragen
Habe mal den ganzen Code aus der Procedure Execute bereits in die Procedure Create verschoben und rufe dann Thread.execute in der Schleife nicht mehr auf....
Forum: Algorithmen, Datenstrukturen und Klassendesign
by bernhard_LA,
27. Mär 2012
mein Problem besteht darin, ich kann in meiner Schleife i Threads erzeugen
for i:= 0 to Anzahl Threads do
aThread := TMyThread.Create( Übergabe der Ausgangsmatrizen, Überhabe der Ergbnismatrix);
aThread.Execute // Berechne hier eine Teilmatrix und dann das Ergebnis in die große Matrix schreiben
end;
Forum: Algorithmen, Datenstrukturen und Klassendesign
by bernhard_LA,
27. Mär 2012
ich habe die Berechnung der jeweiligen Teilmatrix in die Routine Thread.execute gepackt.
Vom Verständnis müsste er doch Thread.Execute starten, aber nicht auf die Beendigung dieser Anweisung warten sondern
gleich den nächsten THREAD erzeugen und starten.... sehe ich etwa falsch ?
Forum: Algorithmen, Datenstrukturen und Klassendesign
by bernhard_LA,
27. Mär 2012
Stimmt, das schreiben in das Array ist nicht das Problem, allerdings die Rechenzeit, welche unverändert bleibt :(
for i:= 0 to MaxThreads-1 do
begin
aFASTNCCThread:= TFASTNCCThread.Create ( ..... );
aFastNCCThread.Execute;
Forum: Algorithmen, Datenstrukturen und Klassendesign
by bernhard_LA,
26. Mär 2012
im Ereignis Thread.Create(....) übergebe ich ein Array ancc vom Typ array or array of Real
Bei dem Aufruf von Thread.Execute; schreibt die letzte Anweisung in ein bestimmtetes Segment von ancc. Jeder Thread soll in ein bestimmtest Segment schreiben, die Segmente haben keine Überlappung.
Leider schreibt nur der erste THread seine Daten richtig in mein Array ancc , die anderen Threads...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by bernhard_LA,
22. Mär 2012
ich benötige für meine Anwendung ein Array of integer of integer . Dieses Array möchte ich gleichzeitig durch mehrere Threads beschreiben, ich bin auf der Suche nach DEMO Code zu diesem Problem.
Kann jemand weitzerhelfen ?