Re:Symbian Source Code
by pavlov on Tuesday May 24, 2022 @12:20PM
(#31494057)
Symbian wasn't actually limited to cooperative multitasking. The kernel certainly supported preemptive multitasking, and apps could use multithreading if they wanted to. The POSIX threads API was available too.
However since everything in Symbian was designed first and foremost to minimize power use and memory requirements, the framework actively recommended against use of threads. Instead they asked you to schedule things on the app's main thread which gave the framework more control over when to run your callbacks. This wasn't a terrible idea at all, but the implementation of this system as a C++ multiple inheritance contraption was pretty confusing as I recall.
However since everything in Symbian was designed first and foremost to minimize power use and memory requirements, the framework actively recommended against use of threads. Instead they asked you to schedule things on the app's main thread which gave the framework more control over when to run your callbacks. This wasn't a terrible idea at all, but the implementation of this system as a C++ multiple inheritance contraption was pretty confusing as I recall.