A multi-core processor is a single computing component with two or more independent processing units called cores. This development arose in response to the limitations of increasing clock speeds in single-core processors. By incorporating multiple cores that can execute multiple tasks simultaneously, multi-core processors provide greater performance with less heat and power consumption than single-core processors. Programming for multi-core requires spreading workloads across cores using threads or processes to take advantage of the parallel processing capabilities.