![]() |
mehr als 1 Prozessorkern verwenden
hi zusammen,
ich möchte für mein Programm mehr als 1 Prozessorkern verwenden. Habe gehört, dass es über Threading möglich ist. Allerdings berechnet mein Programm nur Primzahlen und ein 2ter Thread wäre dafür bestimmt unsinnig, da ich nur eine Prozedur habe. Diese Frage wurde bestimmt schon sehr oft gestellt. Ich bräuchte nur ein Anstoß wonach ich suchen muss. Gruß gelöschterBenutzer |
AW: mehr als 1 Prozessorkern verwenden
Selbst wenn eine Aufgabe nicht teilbar ist, kann ein "ArbeitsThread" sinnvoll sein, weil das Hauptprogramm besser auf Eingaben reagiert.
Für mehr als ein ArbeitsThread müsste man schauen, ob die Primzahlsuche eine teilbare Aufgabe ist. Ein Thread-Beispiel ist übrigens seit mind. Delphi 5 im Demo-Ordner dabei... |
AW: mehr als 1 Prozessorkern verwenden
Das es über Threads möglich ist weis ich ja ;) Aber gibt es nicht einen anderen Weg mehr Kerne anzusprechen?
|
AW: mehr als 1 Prozessorkern verwenden
Wie soll das gehen? Überlege doch mal. Du haste EINEN Thread, wie soll der auf mehreren Kernen sinnvoll laufen? Soll das Betriebssystem den EINEN Thread ständig eine anderen Kern zuweisen?
|
AW: mehr als 1 Prozessorkern verwenden
passiert ja eh ....
|
AW: mehr als 1 Prozessorkern verwenden
Wenn der Thread "Parallele Primzahlberechnung" heissen sollte, dann hätte ich hier was
![]() Grüße in die Runde |
AW: mehr als 1 Prozessorkern verwenden
Zitat:
Zitat:
@gelöschterBenutzer Um sich das mit den Threads und CPU besser vorstellen zu können: Mit einem Eimer (Thread) soll eine Person (CPU) Wasser von A nach B transportieren (Aufgabe). Auch wenn du mehrere Personen hast, kann immer nur eine Person die Aufgabe erfüllen, da es ja nur einen Eimer gibt. Hast du nur eine Person und viele Eimer, dann muss sich die Person sich ganz schön abrackern. Optimal ist pro Person einen Eimer zur Verfügung zu stellen, dann hat man die beste Auslatung. Manchmal machen aber auch mehr Eimer Sinn: Angenommen das Befüllen und Ausleeren der Eimer geht autonom, dann kann es sinnvoll sein 3 Eimer pro Person zu haben
|
AW: mehr als 1 Prozessorkern verwenden
Zitat:
Warum teilst du nicht die Datenmenge der Schleife und verteilst die gleichmäßig auf die CPUs. Suche mal nach der Omnithreadlibrary (Parallel.ForEach) alternativ geht auch TThread. In der Omni sind sogar die meisten Demos mit Primzahlen-Berechnung. In einer den nächsten Entwickler-Magazin Ausgaben, wird ein Artikel über die Omni-Lib und Multithreading sein. |
AW: mehr als 1 Prozessorkern verwenden
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz