Hilfe bei Threads [C++,Borland]

andreas_gierisch

Erfahrenes Mitglied
Hallo, ich habe in meinem Programm eine Berechnungsfunktion, welche wiederum kleinere Funktionen aufruft. Da die Berechnungen sehr umfangreich sind, möchte ich diese Funktion gern in einem Thread aufrufen, um nebenbei auch andere Programme ausführen zu können. Meine Berechnungsfunktion hat folgenden Aufbau:
Code:
void Computation(TForm *F1)
{
// Berechnungen und Aufruf von Unterfunktionen
...
}
Kann mir jemand sagen, wie ich diese Funktion in einem Thread aufrufe? Ich hab bisher noch nicht mit Threads gearbeitet, wäre also schön, wenn eine kurze Erläuterung dabei steht. Danke schonmal im voraus.
 
Hallöchen,

wenn du deine Funktion als Thread realisieren willst, dann machst du aus deiner implementierenden Klasse, eine von TThread abgeleitete, welche dann die virtuelle Excecute() methode des Threads implementiert und somit dann den Einstigspunkt in deine "Berechnungsfunktion" darstellt!
Diese methode sollte so oft möglich die ThreadTerminated (bool) Variable auf wertigkeit prüfen,
da diese es ermöglicht den Thread von außen zu beenden.
(wird einfach [ausserhalb des Threads] auf true gesetzt und du brichst dann im Thread ab).

Von der Excecute() methode aus kannst du z.B. in nem Zustandsautomaten deine Berechnungen durchführen (also deine methoden nach und nach aufrufen) und dann beenden wenn du fertig bist.
benutz auch einfach die Borland suche da steht schon ei bisle was darüber!

Grüße RuFF
 
Zurück