Ответ 1
Из С# в двух словах:
Выполняются параллельные классы стека, очереди и пакета внутренне со связанными списками. Это делает их менее эффективными с точки зрения памяти чем неконкурентные классы
Stack
иQueue
, но лучше для параллельный доступ, потому что связанные списки являются проводящими для блокировки или с низкой блокировкой.
Другими словами, трудно определить общий случай, не говоря уже о том, чтобы предсказать, какая разница в производительности.
Это зависит от размера коллекции и использования. Ожидается, что производительность будет лучше, если будет достаточно одновременного доступа, потребление памяти будет хуже.