Threading en taken begrijpen
Verken threads en taken om parallelle verwerking in C# te beheren
Threading en taken begrijpen is een gratis C# Academy-les op CoddyKit. Dit is les 3 van 5. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject C# Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus C# Academy bevat in totaal 5 lessen.
Inleiding tot threads en taken
Threads en taken begrijpen
Welkom bij de volgende les! In deze les leer je over threads en taken in C#, waarmee je meerdere bewerkingen gelijktijdig kunt uitvoeren voor betere prestaties. We gaan aan de slag!

Wat is threading?
Threading is het gelijktijdig uitvoeren van meerdere bewerkingen. Elke thread vertegenwoordigt een afzonderlijke besturingsstroom in je toepassing.
Belangrijk: Threading verbetert de prestaties door meerdere processorkernen te benutten voor gelijktijdige uitvoering.
Threads maken en starten
Je kunt threads maken en starten met behulp van de klasse Thread. Voorbeeld:
using System;
using System.Threading;
class Program {
static void Main() {
Thread thread = new Thread(PrintNumbers);
thread.Start();
Console.WriteLine("Main thread is running...");
}
static void PrintNumbers() {
for (int i = 1; i <= 5; i++) {
Console.WriteLine(i);
Thread.Sleep(1000); // Pause for 1 second
}
}
}
Inleiding tot taken
Taken bieden een abstractie op een hoger niveau voor gelijktijdige programmering dan threads. De klasse Task maakt deel uit van de Task Parallel Library (TPL) in C#.
Voorbeeld: Een taak maken en starten:
Tip: Taken zijn eenvoudiger te beheren en bieden een betere foutafhandeling dan threads.
using System;
using System.Threading.Tasks;
class Program {
static void Main() {
Task task = Task.Run(() => {
for (int i = 1; i <= 5; i++) {
Console.WriteLine(i);
Task.Delay(1000).Wait();
}
});
Console.WriteLine("Main thread is running...");
task.Wait(); // Wait for the task to complete
}
}
Parallel.For en Parallel.ForEach gebruiken
Met de klasse Parallel in C# kun je lussen parallel uitvoeren voor betere prestaties. Voorbeeld:
Belangrijk: Gebruik Parallel.For en Parallel.ForEach voor gegevensintensieve taken die gelijktijdig kunnen worden uitgevoerd.
using System;
using System.Threading.Tasks;
class Program {
static void Main() {
Parallel.For(0, 5, i => {
Console.WriteLine($"Processing {i} on thread {Task.CurrentId}");
});
Console.WriteLine("All tasks completed.");
}
}
Uitzonderingen in taken afhandelen
Je kunt uitzonderingen in taken opvangen met een try-catch-blok of de eigenschap Task.Exception. Voorbeeld:
using System;
using System.Threading.Tasks;
class Program {
static void Main() {
try {
Task task = Task.Run(() => {
throw new InvalidOperationException("Task failed!");
});
task.Wait();
} catch (AggregateException ex) {
Console.WriteLine("Error: " + ex.InnerException.Message);
}
}
}
Oefenopdracht
Maak een programma dat meerdere taken start om getallen parallel te verwerken en hun kwadraten af te drukken. Voorbeeld:
using System;
using System.Threading.Tasks;
class Program {
static void Main() {
int[] numbers = { 1, 2, 3, 4, 5 };
Parallel.ForEach(numbers, number => {
Console.WriteLine($"Square of {number}: {number * number}");
});
}
}
Aanbevolen werkwijzen voor threads en taken
Dit zijn enkele aanbevolen werkwijzen:
- Geef de voorkeur aan
TaskbovenThreadvoor gelijktijdigheid op hoog niveau. - Gebruik
Parallel-klassen voor gegevensintensieve bewerkingen. - Handel uitzonderingen correct af om robuuste toepassingen te garanderen.
- Beperk het aantal threads of taken om concurrentie om resources te voorkomen.
Tip: Gebruik asynchrone programmering wanneer I/O-bewerkingen de meeste tijd in beslag nemen, en gebruik threads of taken voor CPU-intensieve taken.
Goed gedaan!
Gefeliciteerd! Je hebt de basis van threading en taken voor gelijktijdige programmering in C# geleerd. In de volgende les gaan we dieper in op delegates en lambda-expressies, twee krachtige functies voor functionele programmering. Laten we blijven programmeren!

Leer C# met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 93
- Lessen
- 346
Veelgestelde vragen
Is de les “Threading en taken begrijpen” gratis?
Ja — de volledige tekst van “Threading en taken begrijpen” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus C# Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus C# Academy bevat in totaal 5 lessen.
Wat leer ik in “Threading en taken begrijpen”?
Verken threads en taken om parallelle verwerking in C# te beheren Je oefent met C# Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met C# Academy te beginnen?
Ervaring vooraf is niet nodig. C# Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 5.
Hoe lang duurt de les “Threading en taken begrijpen”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over C# Academy?
Ja. Elke les over C# Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Generics in C#
- Async en await: werken met asynchrone code
- Threading en taken begrijpen
- Delegates en lambda's verkennen
- Reflection in C# begrijpen