"Shared
data plus locking" is a pretty crap model in general, really.
When people talk about all the complications that threads introduce,
they're really talking about this. Shared mutable state is the
cancer of
multi-threaded programming.
This should be tattooed on every newbie. ;)
Visualize your GUI running on a 64-bit iPad in Madrid, and your DSP running
on 32-bit Ubuntu in Seattle. Design your API accordingly.....
Best Regards,
Jeff