Multitasking and multiprocessing have become a very important topic in microcontroller-based
systems namely in complex commercial domestic and industrial automation applications. As the
complexity of projects grows more functionalities are demanded from the projects. Such
projects require the use of multiple inter-related tasks running on the same system and sharing
the available resources such as the CPU memory and input-output ports. As a result of this
the importance of multitasking operations in microcontroller-based applications has grown
steadily over the last few years. Many complex automation projects now make use of some form of
a multitasking kernel. This book is project-based and its main aim is to teach the basic
features of multitasking using the Python 3 programming language on Raspberry Pi. Many fully
tested projects are provided in the book using the multitasking modules of Python. Each project
is described fully and in detail. Complete program listings are given for each project. Readers
should be able to use the projects as they are or modify them to suit their own needs. The
following Python multitasking modules have been described and used in the projects: Fork Thread
Threading Subprocess Multiprocessing The book includes simple multitasking projects such as
independently controlling multiple LEDs to more complex multitasking projects such as on off
temperature control traffic lights control 2-digit and 4-digit 7-segment LED event counter
reaction timer stepper motor control keypad based projects car park controller and many
more. The fundamental multitasking concepts such as process synchronization process
communication and memory sharing techniques have been described in projects concerning event
flags queues semaphores values and so on.