title: How do I pass data between data threads?
body: <p>I have three threads in Python that are sharing ASCII data. The first thread reads serial data from a serial port at an extremely fast rate. Then, I parse and pass that data to a socket where it's written. Additionally, some of the data from the serial data is written to an XML file. I'm aware of the global interpreter lock and its limitations. I need to do all of these operations within 1/10 of a second. I'm seeing a large amount of CPU usage and a delay by utilizing global values that I share between the threads. I don't think I can use events in Python as I would with other languishes. </p>
  
  <p>How do I share data between these threads in a synchronous matter without the delay and CPU usage in Python?</p>