Tasks and Scheduling
With rising numbers of cores and increasing processor speed in computers nowadays, it is crucial for applications to be able to use this computational power. Let’s compare a processor to yourself at work. Imagine you get stuck with a task, and only your experienced teammate can help you with it. But he’s at lunch. You could switch to a different task or wait for him. But when you decide to wait for your teammate’s help and study your social account for a moment, your progress at work is blocked. You are not productive at all until your mentor comes back. What if he doesn’t return? Your employer wouldn’t be happy.