1. A method for scheduling tasks for execution, comprising: ordering tasks in a queue; providing a timer thread for monitoring status of tasks in said queue and for selectively dispatching tasks; providing a guard thread for monitoring status of tasks in said queue and for selectively creating timer threads; operating said guard thread responsive to a next task in said queue becoming ready for execution while a first timer thread is still processing a prior task to create a new timer thread for dispatching said next task and marking said first timer thread for closure; responsive to said prior task completing, closing said first timer thread.