Thread ID

Konzeptionelles, Technisches, Termine, Fragen zum Hersteller usw.

Moderator: Moderatoren

Antworten
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Thread ID

Beitrag von Rudolf »

Hallo,
wird eine Thread ID nur einmalig im Programm verwendet oder werden die IDs wiederverwertet wenn ein Thread geschlossen wird und eine neuer startet ? Ich denke sie ist einmalig, aber zur Sicherheit frage ich hier mal.
Grüße
Rudolf
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2824
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: Thread ID

Beitrag von georg »

Hallo, Rudolf -


ja, die IDs werden recycled:

Code: Alles auswählen

#INCLUDE "AppEvent.ch"
#INCLUDE "Xbp.ch"

FUNCTION Main()
   Local nI, nMax, nCurrent, nInfo
   Local oThread
   
   nMax := 20
   nCurrent := ThreadObject():threadID
   
   FOR nI := 1 TO nMax
      oThread := Thread():new()
      oThread:start("RunMe")
      nInfo := oThread:threadID
   NEXT
RETURN(.T.)

FUNCTION RunMe()
   Sleep(100)
RETURN(.T.)
Solange man recht schnell durchgeht, wird immer eine neue ThreadID erzeugt. Ich habe dann mal ein paar Minuten gewartet, und dann wurde die ThreadID 3 wieder zugewiesen.

Gemäss Dokumentation ist die ThreadID aber immer eindeutig, d.h. es kann also keine zwei Threads mit der gleichen ID geben.
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Re: Thread ID

Beitrag von Rudolf »

Hallo Georg,
danke für die Infos, eigentlich logisch da sonst bei einem Programm welches durchläuft rein theoretisch irgendwann die IDs ausgehen. Ich glaube wenn ich die ID mit THREADINFO_SYSTHND verwende, habe ich eine einzigartige ID.
Grüße
Rudolf
Antworten