[...]I've heard from quite a few people in particular in the GNOME camp who
believe that everything should be asynchronous and that multithreading
is evil.
and what this means is: as hardware advances and more and more CPU's become available, because of this design, program execution will get faster and faster without one line of code having to be adjusted in the future. i don't even need to recompile.
and this is just one example of how i maximize having multiple CPU's available to me. the possibilities become endless when this concept is wholly embraced, as it should be. do not be afraid...
To be more specific: what I wanted to avoid was the need to protect data
with mutices by ensuring that the only code ever touching it is from the
same thread. That is easier to enforce than correct mutex locking.