I always looked at it the other way 'round: threading is a hack to
deal with system inadequacies like poor shared memory performance or
an inability to get events from critical file types.
Real processes and event-driven programming provide a more robust,
understandable and scalable solutions.
<end rant>