Threading help?
Peter Hansen
peter at engcorp.com
Wed Mar 6 20:07:59 EST 2002
Cliff Wells wrote:
>
> On Wed, 6 Mar 2002 13:26:12 -0800
> Cliff Wells wrote:
>
> > The approach I would take, based upon the information given, is to have
> > thread A retrieve the data every .1s (using time.sleep), when the data
> is
> > retrieved, put it on a Queue and go back to sleep. Thread B blocks on
> the
> > Queue until data is available. When data becomes available, B processes
> > that data and place it on a second Queue for thread C (thread C handling
> > HTTP requests) to deal with.
>
> Hm. Okay, I had to reconsider this. Clearly if the processing is slower
> than .1s and data is being added to it every .1s, the Queue is going to
> endlessly grow as more data is added to it. If this is the case, it might
> make sense to have more than one consumer thread (B) doing the processing.
I might be missing something, but I don't see how adding another thread
(with a slight extra overhead associated with it) would actually increase
performance for what I infer is CPU-bound processing in thread B.
Threads don't add performance capacity, they remove it! (Or is B blocking
on something like a socket, thus slowing it down?)
-Peter
More information about the Python-list
mailing list