title: Task vs Barrier
body: <p>So my problem is as follows: I have a list of items to process and I'd like to process the items in parallel then commit the processed items.</p>
  
  <p>The barrier class in C# will allow me to do this - I can run threads in parallel to process the list of items and when SignalAndWait is called and all participants hit he barrier I can commit the processed items.</p>
  
  <p>The Task class will also allow me to do this - on the Task.WaitAll call I can wait for all tasks to complete and I can commit the processed items. If I understand correctly each task will run on it's own thread not a bunch of tasks in parallel on the same thread.</p>
  
  <ol>
  <li>Is my understand correct on both usages for the problem?</li>
  <li>Is there any advantage between one over the other?</li>
  <li>Is there any way a hybrid solution is better (barrier and tasks?).</li>
  </ol>