Patricia Shanahan wrote:
Peter Firmstone wrote:
...
Tasks could belong to groups, so the tasks in that group are
Comparable, the Priority Manger could group the tasks with a
ConcurrentHashMap, reducing the number of tasks being compared, a
group could just be a string name, or an integer hash, defined by the
task implementation.
...
I will investigate the TaskManager callers to see to what extent Task
instances that would belong to separate groups are presented to the
same TaskManager instance. If that happens a lot, the group idea has
potential regardless of the rest of the design.
We may also have some gain from having some way for a Task to declare
that it does not play the dependency game, being neither dependent on
other tasks nor having other tasks depend on it. The dependency data
structure can have separate synchronization from the dispatch data
structure.
Good call, there are many such task implementations.
Patricia