O'Reilly logo

Software Architecture with Python by Anand Balachandran Pillai

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Pre-emptive versus cooperative multitasking

The programs we wrote earlier using multiple threads were examples of concurrency. However, we didn't have to worry about how and when the operating system chose to run the thread—we just had to prepare the threads (or processes), provide the target function, and execute them. The scheduling is taken care of by the operating system.

Every few ticks of the CPU clock, the operating system pre-empts a running thread, and replaces it with another one in a particular core. This can happen due to different reasons, but the programmer doesn't have to worry about the details. He just creates the threads, sets them up with the data they need to process, uses the correct synchronization primitives, and starts them. ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required