|
Boost : |
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
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk