Einzelnen Beitrag anzeigen

Benutzerbild von meolus
meolus

Registriert seit: 28. Aug 2005
Ort: Aachen
20 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Wie Klasse in Thread packen?

  Alt 6. Apr 2008, 15:57
@Apollonius: Ich muss sagen, doch so hatte ich das verstanden, dass das dann nicht mehr blockieren würde, weil TThread das kapselt

@Bernhard Geyer: Das mit den Zugriffsproblemen ist mir soweit klar, hatte aber verstanden, dass man das mit nen paar "Synchronize" aufrufen hinbekommt?! Darum wollte ich mich jedenfalls erst als zweites kümmern.
Müssen in die Syncronized-Funktionen alle Sachen die auch von wo anders zugegriffen werden können oder nur die sachen die konsistent sein müssen? (Es ist mir z.B. an einigen Stellen egal ob der eine oder nen anderer Thread nen Button (de)aktiviert.)


Ok, mein Versuch oben funktioniert also nicht. An der Create etwas zu ändern macht keinen Sinn, da die Klasse sich einmal erstellt verbinden soll und die Verbindung halten können soll. Die Execute darf ich nicht überladen, soweit ich gefunden haben.

Also habe ich jetzt, soweit ich die Materie überblicken kann, wohl nur die Wahl:
a) jede Methode der oben genannten Klassen in eigene ("lokale") Threads zu verfrachten.
oder
b) für jede Methode 'ne zusätzliche Aufrufmethode schreiben, die dann mittels Attributen der Klasse, die Methode selektieren würde die ich eigentlich will und deren Paramter nachbildet, damit ne idle-Dauerschleife in Execute das aufgreifen kann.

Wie macht man das am Sinnvollsten? Nach a) oder b) oder macht man das ganz anders?
Wie lasse ich nen Thread idlen? Sleep hat in meinem obigen Code alles was in der Thread-Klasse lief vollkommen ausgebremst ud zudem volle CPU-Auslastung ergeben.
Real programmers don't comment their code;
if it was hard to write, it should be hard to read.
  Mit Zitat antworten Zitat