Wie teuer ist ein natives OS-Thread? Das Host-Betriebssystem weist virtuellen Speicher für einen Thread-Stack und ein wenig Kernel-Speicher für die Thread-Kontrollstrukturen zu. Fehle ich etwas?Wie teuer sind Fäden?
Antwort
Es kann die Arbeitslast des Schedulers erhöhen, je nachdem, wie beschäftigt der Thread ist und welche Art von Scheduler. Es wird auch physischen Speicher für die erste Seite des Stapels zuweisen.
Die Hauptkosten in vielen Fällen ist Cache-Verschmutzung. Zu viele aktive gleichzeitige Tasks töten die Performance, weil zu viele Threads zu wenig Cache teilen und sie sich gegenseitig immer wieder in den Hauptspeicher schieben, was für einen Thread eine weitaus schlechtere Demütigung darstellt, als einfach nur eingeschlafen zu werden, seit er schläft es kommt zu einer einzigen Strafe von mehreren hundert Zyklen, während das Abrufen des Hauptspeichers während einer einzelnen Zeitscheibe einen ähnlichen Mehraufwand erfordert und auch proportional mehr Kontextwechsel bedeutet, da während dieser Zeitscheibe viel weniger Arbeit geleistet wird.
- 1. Wie teuer sind MySQL-Ereignisse?
- 2. Wie teuer sind NULL-Zeigerargumente?
- 3. MySQL-Abfragen - wie teuer sind sie wirklich?
- 4. Sind Oracle Analytic Functions teuer?
- 5. Sind Enzyme/Reacts seicht teuer?
- 6. Wie teuer ist ST_GeomFromText
- 7. Wie teuer ist Typschluss?
- 8. Ich verstehe nicht, Fäden
- 9. Leichte Fäden in Akka
- 10. Sind verbindliche Ereignisse in jQuery sehr teuer oder sehr kostengünstig?
- 11. Sind nicht definierte CSS-Klassennamen in IE7 und IE8 teuer?
- 12. Fäden verbinden. Generator oder Listenverständnis?
- 13. Nicht alle Fäden condition_variable.notify_all gemeldet()
- 14. Verwendung von Destruktor/Finisierer teuer?
- 15. OpenMP - schaffen Fäden nur einmal
- 16. CPU teuer Javascript
- 17. Ist NSTimer teuer?
- 18. Arbeit zwischen Fäden aufteilen? (pthread)
- 19. Vermeiden confilicts in aufeinanderfolgenden Fäden
- 20. Wie "teuer" ist Oracle Enterprise Manager?
- 21. benachrichtigt werden, wenn alle Hintergrund Thread Fäden
- 22. Teuer, System.Numerics.VectorX zu wickeln - warum?
- 23. Wie teuer ist BufferedReader.read()? Wie lange zu schlafen, zwischendurch?
- 24. Handhabung zirkuläre Abhängigkeit in Schienen während Fäden
- 25. Wie teuer sind JS-Funktionsaufrufe (verglichen mit der Zuweisung von Speicher für eine Variable)?
- 26. wie teuer sind RuntimeWarning Warnungen auf die Leistung für die Berechnung auf großen Daten
- 27. Wird eine std :: list teuer?
- 28. QBild zu QPixmap ist teuer
- 29. Wie teuer es ist, ein neues UIWebView zu erstellen
- 30. Warum fangen Fäden spontan von wait() an?
Es gibt keine Antwort - es variiert ziemlich weit zwischen den Betriebssystemen. –