1. A processor for scheduling a first task within a computing device, comprising: a) instructions for accessing a work queue of a plurality of waiting tasks waiting scheduling; b) instructions for determining whether the computing device has sufficient resources to execute the first task and for determining whether the first task is time sensitive, in the event that the computing device does not have sufficient resources to execute the first task; c) instructions for attempting to locate at least one selected task from within the work queue which is capable of being executed simultaneously with the first task, in the event that the computing device has sufficient resources to execute the first task, and for rejecting the first task, in the event that the computing device does not have sufficient resources to execute the first task and that the first task is time sensitive; d) instructions for combining the at least one selected task with the first task to form a combined task and scheduling the combined task, in the event that the computing device has sufficient resources to execute the first task and that at least one selected task is located; and e) instructions for attempting to schedule a second task before attempting to schedule the first task, in the event that the computing device does not have sufficient resources to execute the first task and that the first task is not time sensitive.