In The Art of Unix Programming, Eric S. Raymond dismisses multithreaded programming as a performance hack that should be avoided. According to him, the biggest problem with threads is that they share memory by default instead of forcing the programmer to come up with a sensible communication protocol between the different parts of the system.
However, that book was finished in 2003, before multicore processors had taken over the consumer market, which from my point of view is a game-changer.
- Is using threads still considered an anti-pattern?
- Are there examples of Unix programs extensively using threads with success?