AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Wie viele Threads kann man in einer Anwendung starten?

Wie viele Threads kann man in einer Anwendung starten?

Ein Thema von Thomas83 · begonnen am 21. Feb 2008 · letzter Beitrag vom 23. Feb 2008
Antwort Antwort
Seite 1 von 3  1 23   
Thomas83

Registriert seit: 7. Jan 2008
180 Beiträge
 
#1

Wie viele Threads kann man in einer Anwendung starten?

  Alt 21. Feb 2008, 12:35
hi,

wie viele Threads kann ich in einer Anwendung starten?
So das Windows und meine Anwendung das noch hinbekommt.

Gibt es da eine Begrenzung?
  Mit Zitat antworten Zitat
Benutzerbild von o0o
o0o

Registriert seit: 20. Jul 2007
Ort: am...,da wo die sonne nicht scheint!
166 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: Wie viele Threads kann man in einer Anwendung starten?

  Alt 21. Feb 2008, 13:15
bin mir nicht sicher aber ich denke es gibt keine begrenzung...^^

ok mit ueber 20threads hab ich auch noch nicht gearbeited aber was hast du vor bzw wieviele threads willst du denn?^^

o0o
(_/marabu-fan inside\_)
[-\_______________/-]
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: Wie viele Threads kann man in einer Anwendung starten?

  Alt 21. Feb 2008, 13:20
Zitat von Thomas83:
wie viele Threads kann ich in einer Anwendung starten?
So das Windows und meine Anwendung das noch hinbekommt.
Ich denke schon, dass es eine EInschränkung gibt.
Spätestens, wenn keine Handles mehr verfügbar sind.

Ich meine, mich zu erinnern, dass es vor langer Zeit mal eine Diskussion darüber gab.
Such doch mal nach "Anzahl Handles" oder so.

Und schreibe Deine Erkenntnis dann auch wieder hier rein.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Wie viele Threads kann man in einer Anwendung starten?

  Alt 21. Feb 2008, 13:38
Hier steht zum Beispiel das:
Zitat:
Jeder Thread muss verwaltet werden, was eine Anwendung langsamer macht und Arbeitsspeicher benötigt. Nicht umsonst weist Borland darauf hin, dass bei einem Ein-Prozessor-System 16 aktive Threads eine praktikable Obergrenze darstellen.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Wie viele Threads kann man in einer Anwendung starten?

  Alt 21. Feb 2008, 13:59
Wenn jeder Thread rechenintensive Aufgaben übernimmt, dann ist die max. sinnvolle Anzahl die der Prozessoren bzw. Cores. Auf Prozessoren mit HT, weniger eins. Das sind meine Erfahrungen.

Wenn Deine Threads aber viel Zeit mit "Warten" verbringen, dann sind mehr durchaus praktikabel.

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
pitti platsch

Registriert seit: 26. Dez 2006
Ort: Berlin
25 Beiträge
 
Delphi 2005 Professional
 
#6

Re: Wie viele Threads kann man in einer Anwendung starten?

  Alt 21. Feb 2008, 14:02
Also ich hatte mal aus langeweile ein Programm geschrieben, dass ständig neue Threads erstellt. Habs gestartet und nach wenigen Sekunden reagierte mein System kaum noch (Ein-Prozessor-System). Der Taskmanager war offen und zeigte mir um die 7000 Threads an. Task beenden oder PC herunterfahren ging nicht. Da half nur der Resetknopf.

Fazit:
Es gibt definitiv eine Obergrenze^^
Sollte geh'n...
  Mit Zitat antworten Zitat
Thomas83

Registriert seit: 7. Jan 2008
180 Beiträge
 
#7

Re: Wie viele Threads kann man in einer Anwendung starten?

  Alt 21. Feb 2008, 14:04
es soll per dienst verschiedene dinge überwacht werden.
Wollte für jedes object was ich überwache einen thread erstellen.
Glaube aber das es dann zu viele werden.
  Mit Zitat antworten Zitat
Thomas83

Registriert seit: 7. Jan 2008
180 Beiträge
 
#8

Re: Wie viele Threads kann man in einer Anwendung starten?

  Alt 21. Feb 2008, 14:06
oder ich erstelle für jedes objekt was überwacht werden soll einen timer, da kann ich den intervall auch noch eingeben.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Wie viele Threads kann man in einer Anwendung starten?

  Alt 21. Feb 2008, 14:17
Moin Thomas,

was für Objekte willst Du denn überwachen?
Vielleicht wäre auch MSDN-Library durchsuchenWaitForMultipleObjects was für Dich
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#10

Re: Wie viele Threads kann man in einer Anwendung starten?

  Alt 21. Feb 2008, 14:28
Ein Threadpool wäre bei sehr vielen Aufgaben gut geeignet.

Grundprinzip:
Es gibt eine Jobliste (z.B. 200 Jobs) und einen Pool von Threads (z.B. 5 Stück).
Die Threads legen los und holen sich jeweils einen Job aus der Liste und arbeiten den Job ab.
Wenn ein Thread fertig ist, dann holt er sich den nächsten unerledigten Job - bis die Jobliste leer ist.
Parallel zu den arbeitenden Threads kann die Hauptanwendung stets neue Job in die Liste eintragen.

http://www.delphipraxis.net/internal...t.php?t=111982
Andreas
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz