|
From: Bob I. <bo...@re...> - 2003-08-22 21:13:02
|
I've pretty much read everything on the Evlan website, and I have a few questions.. The concepts document says: > The usual alternative is to use event-driven programming, where a single > thread (or a small group of them) is notified whenever something happens > that it needs to attend to. This technique is much more scalable (provided > the programmer doesn't make the mistake of using poorly-designed system > calls like select(2)), but is also much more difficult to write. Many > programmers avoid event-driven programming because of the extra work > involved. Evlan, however, is designed to make event-driven programming > easier. I've done quite a bit of event driven programming myself, in C, ObjC and Python, and I've never seen a portable and efficient way around using the select call for async programming with file descriptors. How do you plan to get around this limitation in Evlan? Short of using a thread dedicated to sitting on select(), or polling (using a short or no timeout on select, if there is other processing to be done) I can't think of any way. How do you plan to support timed events (sleep for a while, call this function later, etc.)? What are your ideas for how the scheduler will work in Evlan, given that today's processors are basically serial? Also I didn't see any mention of exceptions anywhere. Do you plan to implement exceptions, or something functionally equivalent to them? -bob |