Hello,
Does anyone know if there is there a way to look at a queue's contents? Or 
prevent duplicate messages from being put into a queue? The docs don't show 
anything useful. The reason is that I'm collecting and drawing data. one thread 
collects, and one thread draws. each time one sample is collected by the 
collector thread, a "draw message" is put into the queue to notify the drawing 
thread. the dataset is shared between the threads and is continuously growing 
as data is appended. The queue is used to notify the drawing thread that it 
should draw. I use threading.Lock() to prevent any "sharing issues".
 
The problem is that if the data collector thread is putting messages into the 
queue faster than the drawing thread is getting them, then the drawing thread 
is forced to redraw more times than it needs to and appears slow. However since 
the dataset is shared the drawing thread only needs to draw once to be updated 
for all the new samples. For example if 10 samples have been appended by the 
data collector thread while the drawing thread drew once, then there are now 10 
messages for the drawing thread to get. yet it only needs to draw once to 
reflect the 10 samples. so there are 9 redraws that are a waste of energy. 
 
I was hoping there was some feature in the queue class the would prevent or 
discard a duplicate message. This way my drawing thread won't draw more than it 
needs to.
 
thanks!
Jeff


      
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to