1. A data processing system, comprising: at least two processing units, each of the processing units configured to execute a plurality of tasks; and an interrupt handling unit configured to receive an interrupt, distribute the received interrupt to one of the at least two processing units, wherein the processing unit to which the interrupt is distributed stops execution of a current task and processes the interrupt, wherein the interrupt handling unit is configured to determine whether the processing unit is executing a non-critical section or a critical section of the current task, and distribute the received interrupt to one of the processing units which is executing the non-critical section of the current task based upon a previous interrupt service routine execution time of each of the processing units.