1. A computer implemented method for processing tasks, comprising: invoking a timed iterator, during an event loop pass, without spawning a new thread, wherein the invoking includes passing a task list and a timeout constraint to the timed iterator; executing one or more tasks in the task list for a period of time as specified in the timeout constraint; and relinquishing program control to a caller after the period of time.