The following is likely to be the future of concurrent programming:
http://channel9.msdn.com/showpost.aspx?postid=231495
Simon Peyton-Jones and Tim Harris explain how locks and monitors can be replaced by a beautiful simple concept that scales very nicely for multiple processors:
atomic {
// do something
}
After watching the video I fully agree: "Locks are fundamentally flawed. They are just like building skyscrapers out of bananas."
Thanks for sending the link, Rodrigo!