Bei einem Server mit einem Kern bringen Threads etwas?

3 Antworten

Natürlich, das bringt gerade bei Servern extrem viel, da die CPU so während IO-Operationen sinnvolles tun kann anstatt die Zeit mit Warten totzuschlagen.

Eine Effizienzsteigerung um einige hunderttausend bis mehrere zich millionen Mal, auch bei einem Singlecore, sind absolut realistisch, weil IO im Vergleich zum CPU-Takt, saulangsam ist.

Habe das auch schon oft bei Clients eingesetzt. Ergebnis: Sequentiell dauerte die Sache länger als zwei Tage, parallelisiert hingegen keine 3 Sekunden. Nur damit du mal ein Gefühl für die Größenordnung gekommst. :)

Woher ich das weiß:Berufserfahrung

alfredo153  15.11.2020, 16:27

Naja, dafür sind Threads aber nicht zwingend nötig - sie sind nur viel angenehmer zu programmieren als z.B. das mühsame Multiplexing mit select() und poll().

1
Von Experte KarlRanseierIII bestätigt

Für rechenintensive Aufgaben: nein.

Threads sind aber auch ein Mittel, um Applikationen zu strukturieren, etwa für das Handling von I/O. Und da ist es nicht so wichtig, auf wievielen Kernen sie laufen (die meiste Zeit laufen sie eh nicht).

Wenn du nicht noch DOS verwendest, gibt es auf deinem Computer praktisch immer mehr Prozesse und Threads als Kerne o.ä. verfügbar sind.

Klar. Ich z.B: habe 6 Kerne 12 Threads aber auf meinem PC laufen nicht nur 12 Threads gleichzeitig, das wäre gerade bei Windows etwas schwierig.