title: Is scipy.misc.imread safe/efficient to run from multiple threads?
body: <p>I have set up a producer/consumer model using python Queues. In one producer I'm reading images using <code>scipy.misc.imread</code>. </p>
  
  <p>Reading images in one thread is not fast enough, it takes ~0.2s per image to read. About 20MB/sec reading from an SSD.</p>
  
  <p>I tried adding another identical thread using python's <code>threading</code> module. However the time spent in <code>scipy.misc.imread</code> increased by approximately double, causing the 2 threads to read images approximately as fast as the 1 did.</p>
  
  <p>I'm sure my SSD can handle 40MB/sec throughput, even with random reads. A <code>dd</code> write test shows 800MB+/sec write speeds.</p>
  
  <p>I am left wondering if <code>scipy.misc.imread</code> runs as a critical region among threads? Would I expect <code>multiprocessing</code> to avoid the problem?</p>