ConcurrentStack в C#
Класс ConcurrentStack - стек с потокобезопасным доступом: строка, положенная последней, снимается первой.
Методы Push и TryPop меняют вершину целиком, без промежуточного состояния. TryPop возвращает false, если стек пуст.
Положим в стек "red", затем "blue" и снимем вершину:
using System.Collections.Concurrent;
ConcurrentStack<string> st = new();
st.Push("red");
st.Push("blue");
st.TryPop(out string? s);
Console.WriteLine(s); // выведет blue
Положите в стек строки "low" и "high", "high" последней. Снимите вершину и выведите её в консоль.