How to thread.
We want the sequence to skip over subsequences of threaded tasks.
This allows the doit to execute all of them at once by advancing
the link. Only a very small change is required to the scheduler.

link = thread(self) ;
while (thread->proc = _doit)
{	self = thread->receiver ;
	...
	thread = thread->next ;
}
thread(self) = link ;

The scheduler pick up the link from the sequence if it doesn't match
the initial setting.

link = sequence->thread = sequence->runList.front
while (link)
{	do the task.
	if (seqeuence->thread != link)
		link = sequence->thread ;
	else
		link = link->next ;
}
 
