Предположим, что у меня есть этот код Python:
from itertools import count, tee
original = count() # just an example, can be another iterable
a, b = tee(original)
Вопрос в том, будет ли какая-нибудь проблема, если я начну повторять "a" в одном потоке и, в то же время, итерируя "b" в другом потоке? Ясно, что a и b разделяют некоторые данные (исходный итеративный, + некоторый дополнительный материал, внутренние буферы или что-то еще). Итак, будут ли a.next() и b.next() выполнять соответствующую блокировку, когда они будут обращаться к этим общим данным?