почему concurrent_queue не блокируется?

В среде выполнения параллелизма, представленной в VS2010, есть класс concurrent_queue. Он имеет неблокирующую функцию try_pop ().
Подобно Intel Thread Building Blocks (TBB), блокирующий вызов pop () был удален при переходе с версии 2.1 на 2.2.

Интересно, в чем проблема с блокирующим вызовом. Почему его удалили из TBB? И почему нет блокировки concurrent_queue?

Я нахожусь в ситуации, когда мне нужна блокирующая параллельная очередь, и я не хочу, чтобы ожидание было занято. Есть ли еще одна возможность в среде выполнения параллелизма, помимо написания очереди?

15
задан eli 13 October 2010 в 15:40
поделиться