1. A method for monitoring a time critical task, the method comprising: receiving timing information for executing the time critical task, wherein the time critical task executes program instructions via a thread on a core of a processing unit; scheduling the time critical task, wherein said scheduling comprises determining, based on the received timing information, a wakeup time, a thread cycle time, an overall thread deadline, and a time critical task deadline; wherein the time critical task deadline is a function of the overall thread deadline and a specified thread bandwidth, wherein the specified thread bandwidth indicates a fraction of the thread cycle time reserved for the time critical task; programming a lateness timer based on the wakeup time and the time critical task deadline; waiting for the wakeup time to obtain; notifying the processing unit of said scheduling, wherein said notifying indicates to the processing unit that the thread is in an idle state, wherein the idle state indicates that the thread is awake and ready to resume execution and execute the time critical task in accordance with said scheduling; executing, on the core of the processing unit, the time critical task in accordance with said scheduling; monitoring the lateness timer; and asserting a thread interrupt in response to the lateness timer expiring, wherein said asserting interrupts said executing, thereby suspending execution of the time critical task.