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.