Einzelnen Beitrag anzeigen

Dax
(Gast)

n/a Beiträge
 
#173

Re: Positive Zahlen in negative umwandeln

  Alt 1. Nov 2008, 00:20
Code:
int PROCC = 4;
long[] negParts = new long[PROCC];
Thread[] threads = new Thread[PROCC];
long victim = int.MaxValue;
for(int i = 0; i < PROCC; i++) {
  threads[i] = new Thread(o => {
      int _i = (int)o;
      for(long x = 0; x < victim / PROCC; x++) negParts[_i]--;
    });
  threads[i].Start(i);
}
for(int i = 0; i < PROCC; i++) threads[i].Join();
long result = negParts.Sum();
while (result + victim > 0) result--;
Gerade bei grossen Zahlen skaliert das linear mit der Anzahl der Prozessoren