As much as I personally dislike the use of threads for user code, multi-cores systems are here to stay. They are becoming increasingly popular (most laptops now ship with dual core systems, home computers ship with 3 cpus and gaming consoles ship with multiple general purpose cpus as well).
Developers will need new frameworks for developing software that is ready to take advantage of multiple CPUs. But most importantly they will need to learn the traps and pitfalls of writing parallel/threaded code.
Here are two fantastic articles on MSDN that cover these topics:
- Design Considerations For Parallel Programming by David Callahan.
- Solving 11 Likely Problems In Your Multithreaded Code by the excellent blogger and hacker Joe Duffy.
J�r�mie Laval worked on an ParallelFX implementation for Mono over the summer as part of the Google Summer of Code.
The implementation currently lives on the student repository at code.google.com. I can not wait for the API to be stabilized so we can move it into the main Mono distribution.