Multiprocessing

A multi-core microcontroller is multiprocessing when it executes several tasks at once, with each task using its own processor. This is also referred to as true multitasking.

Imagine a chef in a kitchen with three assistants, making bread, roast beef, and sauce. The chef puts one assistant at the stove to stir the sauce every minute. Another assistant is sent to keep watch on the thermometer, and remove the roast when it reaches 120 °F. Now the chef is free to knead bread dough for 15 minutes. The three cooks (processors) are keeping all three processes (kneading, stirring, roasting) executing at the same time, without any task-switching interruptions, and without missing the moment when the thermometer reaches 120 °F. There is even an extra assistant ready to help if something more is needed.

Multiple cores makes it easier to do many tasks at once, especially if precise timing is needed.