Peter Firmstone wrote:
Patricia Shanahan wrote:
...
The more I think about it the more I feel TaskManager represents a coincidental coupling between two logically distinct modules:

1. A sequencer whose business is determining whether a task is runnable.

2. A thread pool whose business is allocation of runnable tasks to threads.

Separating these functions might allow different types of sequencer, including a trivial one for cases in which there are no sequencing requirements. In some cases, tasks may be being allocated to the same TaskManager to share a thread pool even if they have no sequence relationship.

That said, some of the code I've read suggests that I can probably make the sequencing more efficient by putting it in a utility module than it would be if every using module implemented it separately.

Patricia

That's very similar to the lines I was thinking along earlier, I started sketched something out, I can send it to you, you might find some parts useful or interesting.


Yes, one of your e-mails first planted the question in my mind. Please send what you have.

My latest thinking is that, given the number of use-cases that do not require any sequencing, there should be a SimpleTaskManager that only deals with them.

Thanks,

Patricia

Reply via email to