Списки безопасны для чтения. Пока никакой код не изменяет размер списка, что делает индексацию списка небезопасной, вы можете читать его из всех потоков. Поскольку единственными объектами в списке являются очереди, ориентированные на многопотоковое исполнение, вы можете go.
arr[0].push("foo")
bar = arr[0].pop()
не изменять сам список и быть безопасными.