TEAM-ADA Archives

Team Ada: Ada Programming Language Advocacy


Options: Use Forum View

Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
"Robert L. Spooner" <[log in to unmask]>
Reply To:
Thu, 12 Aug 1999 08:30:04 -0400
text/plain (35 lines)
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
> 617-258-2489

                               Robert L. Spooner
                         Registered Professional Engineer
                               Research Assistant
                         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]