The problem with desynchronizing your code by moving parts of it into different tasks is that many of the resources your software wants to use—certain hardware, data structures in memory, files—can’t ...
Consider a smart home display that uses Wi-Fi, Bluetooth mesh and local voice recognition. The embedded processor manages the wireless protocols, runs the voice model and powers the user interface.