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