Parallelitätsmanagement mit Aufgaben: Beschränkung der gleichzeitigen Ausführung
In Ihrem Szenario möchten Sie einen Satz von 100 Aufgaben gleichzeitig ausführen, aber nur zulassen Es können maximal 10 Aufgaben gleichzeitig ausgeführt werden. Dazu gehört die effektive Verwaltung der Parallelität, um eine ordnungsgemäße Aufgabenausführung und Ressourcennutzung sicherzustellen.
Um diese Anforderung mithilfe von Aufgaben zu erfüllen, können Sie den folgenden Ansatz verwenden:
// Define a SemaphoreSlim to limit concurrent tasks to 10 SemaphoreSlim maxThread = new SemaphoreSlim(10); // Iterate through the tasks for (int i = 0; i < 115; i++) { // Wait for the SemaphoreSlim to allow a new task to execute maxThread.Wait(); // Create a new task and schedule it Task.Factory.StartNew(() => { // Perform the task's operation }, TaskCreationOptions.LongRunning) // Release the SemaphoreSlim when the task completes .ContinueWith((task) => maxThread.Release()); }
In dieser Implementierung:
Dieser Ansatz stellt sicher, dass jeweils nur 10 Aufgaben gleichzeitig ausgeführt werden, wodurch Parallelität effektiv verwaltet und Ressourcen eingespart werden Hunger.
Das obige ist der detaillierte Inhalt vonWie kann ich die gleichzeitige Aufgabenausführung mithilfe von C#-Aufgaben auf 10 beschränken?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!