
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