C# Threads - Threading in The Past

Years back, threads were implemented so isolate programs. In the early days, for example of Windows Version 3, Cooperative Multitasking was used.

With this technique, the Operating System executed all programs on a single execution loop.

The risk was that if one program encountered an error such as infinite loop, the other programs would all hang. In fact even the Operating System itself would.

Then the only situation would be a reboot.

The OS designers learnt fast and programs would be given their own virtual CPU. This was done via what we call Threads. If one of the programs entered an infinite loop, the other programs would continue doing their roles unaffected.

With threads, we moved from Cooperative Multitasking to Preemptive Multitasking. With preemptive multitasking, the OS has control of how much CPU time is assigned to each application. So one thread misbehaving does not affect the other threads.

But later on CPUs started to move from being faster and faster to having more and more cores. So this power and capability had to be taken advantage of by applications themselves as well.

Read more about threads here.

How do You Feel after reading this?

According to scientists, we humans have 8 primary innate emotions: joy, acceptance, fear, surprise, sadness, disgust, anger, and anticipation. Feel free to tell us how you feel about this article using these emotes or via the comment section. This feedback helps us gauge our progress.

Help me Grow.

I set myself some growth ambitions I desire to achieve by this year's end regarding this website and my youtube channel. Am halfway. Help me reach them by:


What do You Think

Previous Post Next Post