I need a queue which multiple threads can put stuff into, and multiple threads may read from.
Python has at least two queue classes, Queue.Queue and collections.dequ
deque is thread-safe. "operations that do not require locking" means that you don't have to do the locking yourself, the deque takes care of it.
Taking a look at the Queue source, the internal deque is called self.queue and uses a mutex for accessors and mutations, so Queue().queue is not thread-safe to use.
If you're looking for an "in" operator, then a deque or queue is possibly not the most appropriate data structure for your problem.