Is an app multithreaded?
Apps are implemented "asynchronous" by using the different tasks and alike (~iomux). However, this does not explain everything about the threading used or not used:
- Suppose I launch two tasks immediately after each other, will they get queued and handled one after the other?
- What is the effect on the callbacks? Are the callbacks all done with the same thread, and, is this the same thread as when the app is started? Or, in other words, is an app single threaded? Or multi-threaded and are the callbacks launched from different threads?
Since I haven't seen any thread safety structures in any sample code, may I presume an app is completely single threaded at all times?