Yes. When you call Take()in BlockingCollection<T>, the thread will block (waiting on the event descriptor) until the item is added to the collection from another thread. This will force this thread to abandon its time fragment.
When an item is added to the collection, a stream will be signaled to continue, receive the item, and continue.
source
share