Buffered streaming

Dave Angel davea at ieee.org
Thu Nov 26 14:50:45 EST 2009



Ken Seehart wrote:
> I need to create a pipe where I have one thread (or maybe a generator) 
> writing data to the tail while another python object is reading from 
> the head.  This will run in real time, so the data must be deallocated 
> after it is consumed.  Reading should block until data is written, and 
> writing should block when the buffer is full (i.e. until some of the 
> data is consumed).  I assume there must be a trivial way to do this, 
> but I don't see it.  Any ideas or examples?
>
> I'm using python 2.6.
>
>
Seems to me collections.deque is a good data structure for the purpose, 
at least if both operations are in the same thread.

For multithreading, consider Queue module (or queue in Python 3.x).

DaveA



More information about the Python-list mailing list