title: does using IEnumerable interface reduce concurrency issues
body: <p>According to <a href="http://books.google.co.in/books?id=t1de8nSVYnkC&amp;lpg=PP1&amp;ots=24qgSrPk8A&amp;dq=inauthor%3A%22Ben%20Albahari%22&amp;pg=PA273#v=onepage&amp;q&amp;f=false" rel="nofollow">Albahari brothers[Page No.273]</a>,<code>IEnumerable</code> is used because:</p>
  
  <p>By defining a single method returning an <strong>enumerator</strong>,<code>IEnumerable</code> provides flexibility in that the</p>
  
  <p>->iteration logic can be <code>framed off to another class</code>(<strong>Understood</strong>)</p>
  
  <p>-><code>Moreover it means that several consumers can enumerate the collection at once without interfering with each other</code>(<strong>Not understood</strong>)</p>
  
  <p>I am not able to understand the second point!</p>
  
  <p>How can <code>IEnumerable</code> instead of using <code>IEnumerator</code> enable <strong>multiple consumers to enumerate the collection at once</strong>?</p>