From: Tom S. <tom...@li...> - 2001-01-14 16:02:57
|
Tripp Lilley wrote: > > On Sat, 13 Jan 2001, Jay Love wrote: > > > OK, Chuck, you're probably right. I just don't like the idea of spawning > > unecessary threads that will sleep mose of the time. > > What about having a single scheduler thread that sleeps until the next > event? Basically, when you add a new task to the task manager, it > recalculates the "next event", wakes up the presumably sleeping scheduler > thread, which puts itself back to sleep with an updated "next event" time. > When that timer expires, the thread wakes up and executes all events > scheduled for that time slot. > Best of both worlds -- only one sleeping thread, and no polling. good solution. (can be quite involved to compute the next task time...). I think starting with new threads like I did is a good first start, then we refine it step by step. B.T.W. My first simple tests showed that self._close.wait(seconds) is quite imprecise (self._close =Event()) compared to sleep(interval), but how to stop a "sleep" when shutting down the AppServer? -- Tom Schwaller http://www.linux-community.de |