Thread:setinterval()

Klassen, Objekte, Methoden, Instanzen

Moderator: Moderatoren

Antworten
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21164
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Thread:setinterval()

Beitrag von Manfred »

Hi,

die Sache mit dem :setinterval() bei threads habe ich noch nicht verinnerlicht. Wie muß man das verstehen? Ich initialisiere einen Thread, setze eine Intervallzeit und starte den thread.

Was passiert denn dann überhaupt? Wie, wo und wann wiederholt der sich? Was muß man beachten? (Um jetzt einmal klein anzufangen. Fragen kommen sicherlich noch mehrere)
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21164
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Thread:setinterval()

Beitrag von Manfred »

Aha,

der wiederholt sich tatsächlich die ganze Zeit. Das das wirklich so einfach ist hätte ich nicht gedacht.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21164
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Thread:setinterval()

Beitrag von Manfred »

Also das scheint ja wirklich schweineeinfach zu sein. Aber es muß doch irgendeinen Haken geben, der einem das Leben schwer machen kann.

So einfach :start() und :terminate() und das war es dann? Hm, zu schön um wahr zu sein.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Thread:setinterval()

Beitrag von AUGE_OHR »

Manfred hat geschrieben:Also das scheint ja wirklich schweineeinfach zu sein. Aber es muß doch irgendeinen Haken geben, der einem das Leben schwer machen kann.
solange de Thread läuft sollte es keine Probleme geben.
Manfred hat geschrieben:So einfach :start() und :terminate() und das war es dann? Hm, zu schön um wahr zu sein.
ein :terminate() gibt es nicht bei Thread ... das ist eine INLINE METHODE der Demo Class.

wenn man keine Thread Class verwendet wird durch

Code: Alles auswählen

oThread:setInterval(NIL)
der Thread "gestoppt"

! Achtung bei "Wiederverwendung" des Thread Object !

Code: Alles auswählen

*LOCAL oThread     // geht nicht sondern erhöht RAM Bedarf
STATIC oThread     // muss dann hier STATIC sein

   IF NIL = oThread
      oThread := Thread():new()   
   ENDIF
   oThread:start(bBlock)
...
   oThread:setInterval(NIL)
   oThread := NIL
gruss by OHR
Jimmy
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21164
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Thread:setinterval()

Beitrag von Manfred »

Moin,

heißt das bei Local läuft irgendwann der Speicher über, oder wie darf ich das verstehen? Das scheint aber wenn in diesem Fall nur gaaanz langsam zu passieren.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Thread:setinterval()

Beitrag von AUGE_OHR »

Manfred hat geschrieben:heißt das bei Local läuft irgendwann der Speicher über, oder wie darf ich das verstehen? Das scheint aber wenn in diesem Fall nur gaaanz langsam zu passieren.
em, äh ... ich hatte vergessen das ich noch ein :setstarttime( SECONDS()+10) stehen habe und ich den Thread "beende" bevor die :setstarttime() eintritt

hierfür gibt es
Andreas Herdt hat geschrieben:Two PDRs are open in this area, it is PDR 6330 and PDR 5728.
gruss by OHR
Jimmy
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21164
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Thread:setinterval()

Beitrag von Manfred »

Hi Jimmy,

hilf mir ein wenig auf die Sprünge. Was heißt das jetzt?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Thread:setinterval()

Beitrag von AUGE_OHR »

Manfred hat geschrieben:hilf mir ein wenig auf die Sprünge. Was heißt das jetzt?
mit

Code: Alles auswählen

oThread:SetStartTime()
kannst du angeben "wann" der

Code: Alles auswählen

oThread:Start("Dummy") 
gestartet werden soll.

ich habe aber nun mit

Code: Alles auswählen

oThread:SetInterval( NIL )
den Thread "beendet" bevor er ihn ausführen konnte.
wenn ich dann auch noch

Code: Alles auswählen

oThread := NIL
gesetzt hatte legt er bei

Code: Alles auswählen

IF NIL = oThread
   oThread := Thread():new()   
ENDIF
scheinbar ein "neues" Object an ... und das "alte" bleibt im RAM wenn oThread LOCAL ist.
gruss by OHR
Jimmy
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21164
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Thread:setinterval()

Beitrag von Manfred »

Ahso,

das mache ich so nicht. Danke
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Antworten