bje had a good quote from Ulrich: "threads and stupid people attract each other." It goes with Alan Cox: "A computer is a state machine. Threads are for people who can't program state machines."
We thought at lunch the other day: except for very rare cases where you really do want to simulate many asynchronous processes it's hard to see threads as anything but a performance hack. Instead of using threads, you really want:
- Cheap structured IPC and sharing, so that data can be explicitly shared as necessary, rather than sharing everything.
- Good async IO.
- Good flow-control mechanisms for doing background tasks.
Have a happy holiday, everyone.
People in the northern hemisphere might like to imagine me going for a swim in ~36C (~95F) dry heat.
Don't forget to get ready for linux.conf.au. It's going to rock all over the place. I think there are going to be some pretty cool surprise guests.