![]() |
Kleines Listenproblem (beginner)
hallo,
ich habe hier eine liste sagewireinmal von 1-100. diese wird nun in 4 versch. (voneinander unabhänigen) schleifen abgearbeitet. also
Delphi-Quellcode:
while x<=100 do begin // A-erste
if x = mache was... end;
Delphi-Quellcode:
while x<=100 do begin // B-zweite
if x = mache was... end;
Delphi-Quellcode:
while x<=100 do begin // C-dritte
if x = mache was... end;
Delphi-Quellcode:
es soll nun so laufen das die variablen 1-100
while x<=100 do begin // D-vierte
if x = mache was... end; auf alle 4 schleifen gleichmässig verteilt werden, so: x1-A x2-B x3-C x4-D x5-A x6-B usw. wie gekomme ich das hin, mit mod habe ich es bisher vergeblich versucht, klar jede variable soll nur einmal verarbeitet werden. cu [edit=mkinzler]Delphi-Tags eingefügt Mfg, mkinzler[/edit] |
Re: Kleines Listenproblem
Wie wäre es mit:
Delphi-Quellcode:
if x mod 4 = 1 then
Delphi-Quellcode:
usw.
if x mod 4 = 2 then
Und du musst zwischen den Schleifen natürlich x wieder zurück auf den Startwert setzen. Aber wozu das ganze? Das kannst du doch genauso gut auch in einer Schleife machen... :gruebel: |
Re: Kleines Listenproblem
hi,
erstmal danke für die schnelle antwort! Zitat:
Delphi-Quellcode:
if x mod 4 = 1 then
Delphi-Quellcode:
if x mod 4 = 2 then
Delphi-Quellcode:
if x mod 4 = 3 then
Delphi-Quellcode:
das probiere ich gleich mal.
if x mod 4 = 0 then
ich möchte eine formel die in einer schleife läuft, auf 4threads verteilen um so hoffentlich etwas schneller zu sein. cu [edit=mkinzler]Delphi-Tags eingefügt Mfg, mkinzler[/edit] |
Re: Kleines Listenproblem (beginner)
Das wird nur funktionieren, wenn du zwei Prozessoren hast. Geht es nicht so: (1..50 => Thread 1 und 51..100 => Thread 2)?
|
Re: Kleines Listenproblem (beginner)
hi,
Zitat:
nun würde ich gerne mal diese variante probieren. also das mit:
Delphi-Quellcode:
geht soweit :thumb:
if x mod 4 = 1 then
if x mod 4 = 2 then if x mod 4 = 3 then if x mod 4 = 0 then wie könnte ich es nun so erstellen, dass nun jeweils 2mal x pro schleife ausgefühert wird. also so: x1-A x2-A x3-B x4-B x5-C x6-C x7-D x8-D x9-A . . .usw. cu |
Re: Kleines Listenproblem (beginner)
Je komplizierter du das machst, desto mehr Rechenleistung geht für die Verteilung drauf, was bringt das?
Auch die Optimierung der Threads an sich, also wie du die verwaltest, kann sehr viel bringen. Zitat:
Delphi-Quellcode:
usw.
if (x mod 8) in [1, 2] then
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:20 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