A variety of resources provide additional information on a number of topics. Some of the most useful are listed here.
You are strongly encouraged to read the following books for in-depth understanding of parallelism (multi-threaded execution). These books discuss general concepts of parallel programming by explaining a particular programming technology:
This group of topics introduces you to the key concepts and terms needed to add parallelism to a program. A list of key terms is also provided.
Over the last few years, processor technology found in personal laptops, desktops, and enterprise servers has shifted from making single-core processors faster to having multiple cores in each processor.