To build on @johnbfair consider the [`BlockingCollection(T)`](http://msdn.microsoft.com/en-us/library/dd267312.aspx) class which provides an api similar to `List(T)` while using the `ConcurrentQueue(T)` for the default internally.