An improved mechanism for tracking the execution progress of a task is
disclosed. In one implementation, the execution progress of a parent task
and one or more child tasks is monitored. The parent task spawns the one
or more child tasks, and the child tasks execute concurrently with the
parent task. In addition to monitoring the execution progress of the
tasks, an overall execution progress value is determined for the parent
task. In one implementation, the overall execution progress value is
determined based, at least partially, upon the execution progress of the
parent task and the execution progress of at least one of the child
tasks. By taking the execution progress of the child tasks into account,
the overall execution progress value reflects not just the progress made
by the parent task itself but also the progress made by the child tasks
that it spawned.