Einzelnen Beitrag anzeigen

Benutzerbild von alleinherrscher
alleinherrscher

Registriert seit: 8. Jul 2004
Ort: Aachen
797 Beiträge
 
Delphi XE2 Professional
 
#1

procedure of object Threadsafe?

  Alt 3. Dez 2013, 17:05
Delphi-Version: XE2
Hi@all!

Ich habe eine Funktion Integrate, der ich eine (wenn ich es richtig verstanden habe) function of Object übergeben kann, um diese quasi mathematisch zu integrieren:

Delphi-Quellcode:
       TCommonFunction = function(x: double; Parameters:TFunctionParameters): double;

//[...]
       function Integrate(FunctionToIntegrate:TCommonFunction; Parameters:TFunctionParameters; From:double; Too:double;dx:double):double;
       begin
         //tu etwas
       end;
Damit ich mein Problem schneller berechnen kann, wollte ich es über mehrere Threads laufen lassen. Jeder Thread muss einige hundert mal eine Funktion integrieren. Allerdings ist die Funktion "integrate" nicht teil meines TThreads, sondern global in meinem Projekt definiert. Beim Ausführen bekomme ich immer Access Violations in dem Bereich der Integration. Daher meine Frage: Ist mein Verfahren nicht Thread-Safe und wie kann ich dies am besten Thread-safe lösen? Muss die Integrationsfunktion in meinen TThread?

Besten Dank und viele Grüße,
Michael
„Software wird schneller langsamer als Hardware schneller wird. “ (Niklaus Wirth, 1995)

Mein Netzwerktool: Lan.FS
  Mit Zitat antworten Zitat