From: Aaron W. LaFramboise (aaronrabiddog51_at_[hidden])
Date: 2004-09-13 00:31:54


Scott Woods wrote:

> Hi Aaron (Rabid Dog?),

I didn't pay attention to what my email address generator had done until
it was too late. (I use a separate email address for each community or
correspondent.)

> The demultiplexor that requires all waitable services to expose their
> handles (sounds positively pornographic); does it have to be that
> way?

Discounting polling, as its generally unacceptable, you always will need
access to that underlying system resource handle, unless . . .

> If a Scheduler is created around a troublesome waitable service (i.e.
> one that refuses to expose its handles), doesnt this achieve the uniformity
> across asynchronous activity that you are pursuing?

. . . you have a thread dedicated to waiting on that particular
resource. A problem with this is that it is hugely inefficient,
requiring one thread per resource. A thread is a rather expensive price
for maintaining a somewhat artificial encapsulation boundary.

In addition, this might not really buy you much in practice. If you're
going to go ahead and create a separate thread for each waitable
resource, you might as well do so directly and not use any sort of
multiplexor at all, and probably save yourself some trouble.

I agree that this scheme might be acceptable as a last resort method for
forcing grossly incompatible objects into the system, but I do not think
it should be the norm where it is easily avoidable.

Aaron W. LaFramboise