Этот вопрос относится как к C# и JavaИтерация Коллекция В двух нитях
Если у вас есть коллекция, которая не модифицируется и что ссылка коллекции разделена между двумя нитями, что происходит, когда вы итерацию по каждой теме ??
ThreadA: Collection.iterator ThreadA: Collection.moveNext ThreadB: Collection.iterator ThreadB: Collection.moveNext
Will threadB увидеть первый элемент?
Является ли итератор всегда сбрасываться, когда его запрашивают? Что произойдет, если это чередуется, поэтому movenext и элемент чередуются? Есть ли опасность, что вы не обрабатываете все элементы?
Вам гораздо лучше использовать BlockingQueue в Java. Он предназначен для совместного использования по любому количеству потоков и может быть изменен во время чтения. –
Op's Q в двух словах: «Каждый литератор из одной коллекции действует независимо друг от друга?» –