The only reason for recommending spawning processes is if you live in a non-threaded environment like Python, Ruby, Perl or Common Lisp. In a C/C++/Java world it is the normal thing to do and it generally makes communication between those threaded tasks 10x simpler.
Don't get me wrong, I love languages like Python or Ruby and I hack stuff with it daily. I would just never do high performance stuff with them.
It's my observation that the 'threads are evil' mantra only seems to be sung by people who have never really experienced working with a really thread safe environment. It's like being stuck in the early Linux/BSD days.
We live in the multi-core era. Today 8 cores are not unusual, many-more-cores are coming. I seriously think that we're going to see some fallout with regards to programming environments that can't keep up.
Don't get me wrong, I love languages like Python or Ruby and I hack stuff with it daily. I would just never do high performance stuff with them.
It's my observation that the 'threads are evil' mantra only seems to be sung by people who have never really experienced working with a really thread safe environment. It's like being stuck in the early Linux/BSD days.
We live in the multi-core era. Today 8 cores are not unusual, many-more-cores are coming. I seriously think that we're going to see some fallout with regards to programming environments that can't keep up.