I've seen this question, and addressed it alot in these forums. I've found an article written for software engineers that addresses this specific question in great detail.
For those adventurous souls looking to learn more about the problem developers face with multi-threading apps and multi-core hardware, this is a great article:
http://msdn.microsoft.com/msdnmag/issues/06/09/CLRInsideOut/default.aspx ( link )
Be forewarned, however, this is difficult topic for most intermediate programmers, so any non-engineers that can take a crack at this and understand it, kudos to you. Either way, perusing the article should still provide some useful info for those interested.
For those adventurous souls looking to learn more about the problem developers face with multi-threading apps and multi-core hardware, this is a great article:
http://msdn.microsoft.com/msdnmag/issues/06/09/CLRInsideOut/default.aspx ( link )
Be forewarned, however, this is difficult topic for most intermediate programmers, so any non-engineers that can take a crack at this and understand it, kudos to you. Either way, perusing the article should still provide some useful info for those interested.