Ich muss eine feste Anzahl von Threads, z. B. 5, parallel ausführen und alle verbleibenden Threads in die Warteschlange aufnehmen. Hier ist ein Stück Code, den ich ausprobiert habe.So legen Sie die maximale Anzahl von Threads fest, die gleichzeitig mit ThreadPool in .NET ausgeführt werden
ThreadPool.SetMaxThreads(5, 0);
ThreadPool.QueueUserWorkItem(new WaitCallback(ThreadProc), task1);
Thread.Sleep(1000);//'ThreadProc' is the callback function
Nun, wenn ich zu laufen bin versucht, sagen 7 Threads parallel dann wird es alle Threads gleichzeitig statt laufen 5 Themen und Warteschlangen nächsten 2 Threads ausgeführt wird. Wie erreiche ich das?
können Sie einen Beispielcode in Bezug auf den ThreadPool-Code geben? – user3374764
Sie brauchen den 'ThreadPool'-Code nicht mehr, mit' Parallel' können Sie einfach Sachen auf mehreren Threads verarbeiten, der Unterschied ist, dass 'ForEach' blockiert im Vergleich zu' QueueUserWorkItem', weshalb ich gefragt habe, ob Sie es verwenden können es. – Octav