C# Threads - Threading in The Past

| Page Views: 33

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.

About Me.

After completing his Software Engineering bachelors program, Oclemy(Clement Ochieng) these days is a man of two lives. At day he works for a startup in Nairobi, Kenya. At night he works tirelessly on building ProgrammingWizards TV, a tv channel for student coders and this website to help share the source code. In between he practices Meditation and Self actualization to help him keep balance. He also likes going for long solo walks to connect more with nature.


What do You Think

Previous Post Next Post