Is it possible to read and write to a queue at the same time?

for example, one thread is using put() and another thread get() on the same queue?

When threading, I've added the task_done() but queue.join() seems to wait for all jobs to finish before the main thread continues.

Is it possible to read and write to a queue at the same time?

for example, one thread is using put() and another thread get() on the same queue?

When threading, I've added the task_done() but queue.join() seems to wait for all jobs to finish before the main thread continues.

Yes it is possible to read and write from a queue "at the same time" (better said: in different threads, which means that you can't tell when they are read and written). That's what queues are designed for. For your question about join(), it would be easier to help if you post a working code which blocks unexpectedly.