[Tutor] Python performance resources & resouce usage hints
Danny Yoo
dyoo at hkn.eecs.berkeley.edu
Fri Apr 7 20:27:50 CEST 2006
On Fri, 7 Apr 2006, Kent Johnson wrote:
> Hugo González Monteverde wrote:
> > You are not using the optional timeout and blocking which 'get' provides (!)
> >
> > Try setting it and see your CPU usage go down. This will implement
> > blocking, and the queue will be used as soon as data is there. Set block
> > to True and a timeout if you need to use it (looks like you only need
> > blocking)
> >
> > while True:
> > try:
> > data = self.queue.get(True)
> > self.DAO.send_data(data)
>
> I think he will need the timeout too, otherwise the shutdown flag will
> only be checked when there is work which is probably not what he wants.
This could be fixed: when setting the 'shutdown' flag, also push a
sentinel piece of data into the queue. That'll wake the thread back up,
and that'll give it the opportunity to process a shutdown.
The thread here:
http://mail.python.org/pipermail/tutor/2006-January/044557.html
has some more examples of this.
Hope this helps!
More information about the Tutor
mailing list