Patricia Shanahan wrote:
Peter Firmstone wrote:
Peter Firmstone wrote:
Patricia Shanahan wrote: .
Essentially, this is the usual operating system strategy of putting threads that are not currently runnable in a data structure associated with the reason for non-runnability, outside the priority structure that dispatches runnable threads. This minimizes the cost to the dispatcher of a thread that cannot do anything useful until some disk read finishes.

Hmm, this shows problem solving experience, take a learning and reapply it to something new. Would this mean that you'd have a dispatch thread that checks if the parked tasks are ready?

We always know when a Task finishes or is removed. At that point, ask "Does this Task have any others that have reported dependency on it?". If so, for each of those tasks, do a new dependency check. If there are now no dependencies, put is in the dispatch data structure. If there is at least one dependency, attach it to the task on which it is now known to depend and reconsider it when that task finishes or is removed.

Patricia

Interesting.

net.jini.lookup.ServiceDiscoveryManager contains several classes that implement Task and use sequencing.

I found 54 subtypes of Task in Apache River, doing a quick search.

Cheers,

Peter.


Reply via email to