Roger Racine wrote:
> Is there any good reason to
> create a separate task that must be run after some other task? That seems
> like a waste of effort (just put the processing of the second task after
> the processing in the first task, and get rid of the second task). It is
> also somewhat a waste of CPU time, since there is no need for a change of
> context if there is no possibility of concurrency.
An example of when this would need to be done is when you have an interrupt
service routine that does some preliminary processing of data (such as buffering)
and then hands the data off to a lower-priority task for further processing. You
may not be able to do all the processing in the ISR because it may have to run too
often. The lower-priority task can then take the time it needs to complete the
processing without inhibiting servicing of the interrupts.
> Roger Racine
> Draper Laboratory, MS 31
> 555 Technology Sq.
> Cambridge, MA 02139, USA
Robert L. Spooner
Registered Professional Engineer
Intelligent Control Systems Group
Applied Research Laboratory Phone: (814) 863-4120
The Pennsylvania State University FAX: (814) 863-7841
P. O. Box 30
State College, PA 16804-0030 [log in to unmask]