title: Multithreading BlockingCollection same value
body: <p>I am using two threads in a C# application that access the same BlockingCollection. This works fine, but I want to retrieve the first value twice so the two threads retrieve the same value *.</p>
  
  <p>After a few seconds I want to poll the currentIndex of both threads and delete every value &lt; index. So for example the lowest currentIndex of a thread is 5, the application deletes theitems at index 0 -5 in the queue. Another solution is to delete the value in the queue if all threads processed the value.</p>
  
  <p>How can I accomplish this? I think I need another type of buffer..?</p>
  
  <p>Thank you in advance!</p>
  
  <p>*If .Take() is called by thread1, the item is removed in the collection and thread2 can't get the same item again.</p>
  
  <hr>
  
  <p><strong>Update:</strong></p>
  
  <p>I want to store data in a buffer, so for example thread1 saves the data to a HDD and thread2 analyzes the (same) data (concurrent).  </p>