Iterating Collection In Two Threads
<p>This question relates both to C# and Java</p>

<p>If you have a collection which is not modified and that collection reference is shared between two threads what happens when you iterate on each thread??</p>

<p>ThreadA: Collection.iterator
ThreadA: Collection.moveNext
ThreadB: Collection.iterator
ThreadB: Collection.moveNext</p>

<p>Will threadB see the first element?</p>

<p>Is the iterator always reset when it is requested?  What happens if this is interleaved so movenext and item is interleaved?  Is there a danger that you dont process all elements??</p>
