Why are "broken iterators" broken?

Fredrik Lundh fredrik at pythonware.com
Sun Sep 21 12:36:20 EDT 2008


Roy Smith wrote:

> There are plausible examples of collections which grow while you're 
> iterating over them.  I'm thinking specifically of a queue in a 
> multi-threaded application.  One thread pushes work onto the back of the 
> queue while another pops from the front.  The queue could certainly go 
> empty at times.  But, maybe a Python iterator is just the wrong way to 
> model such behavior.

you probably want the consumer thread to block when it catches up with 
the producer, rather than exit.

(that's the default behaviour of Python's Queue object, btw)

</F>




More information about the Python-list mailing list