private static void startCheckZahlen(int anzahlThreads) { int parts = 100 / anzahlThreads; Thread[] tr = new Thread[anzahlThreads]; for (int i = 0; i < anzahlThreads; i++) { int a = i * parts; if (a == 0) { a = 1; } int b = a + parts; Console.WriteLine($"Thread {i} arbeitet von {a} bis ausschließlich {b}"); AlgebraWorker w = new AlgebraWorker(); Thread t = new Thread(() => w.doMyChecking(a, b)) { Name = $"t{i}" }; tr[i] = t; t.Start(); } for (int i = 0; i < anzahlThreads; i++) { tr[i].Join(); } Console.WriteLine("Fertig"); }
public static void Main(string[] args) { //a) Console.WriteLine(AlgebraWorker.checkZahl(12)); //Abundant Console.WriteLine(AlgebraWorker.checkZahl(6)); //Vollkommen Console.WriteLine(AlgebraWorker.checkZahl(2)); //defizit //b) startCheckZahlen(4); Console.WriteLine("Set-A"); DisplaySet(set_A); Console.WriteLine("Set-V"); DisplaySet(set_V); Console.WriteLine("Set-D"); DisplaySet(set_D); //c) var menge = set_A.Where(n => n % 10 == 0) .Select(n => new { zahl = n, summe = AlgebraWorker.QuersummeBerechnen(n) }); foreach (var pair in menge) { string str = $"Zahl = {pair.zahl}, mit Quersumme {pair.summe}"; Console.WriteLine(str); } }