Сохранить, если я просто использую функции put и get_nowait в очереди, где очередь распределяется между потоками.Когда мне нужно использовать thread lock?
put
get_nowait
thread lock
Основная идея очереди - разделить ее между несколькими потоками. Класс Queue реализует всю необходимую семантику блокировки. Таким образом, вам не нужно явно получать блокировку.
http://docs.python.org/library/queue.html#module-Queue
Модуль Queue (называемый queue в Python 3) специально предназначен для работы в многопоточных средах.
Queue
queue
Если это то, что вы используете, вы ненужна дополнительная блокировка.