ConcurrentStack
特点
- 线程安全
- 后进先出(Last in, First out)
定义它
private static readonly ConcurrentStack<string> _stack = new ConcurrentStack<string>();
基本使用
// 在顶部插入一个对象
_stack.Push("first");
_stack.Push("second");
// 如果顶部有对象就返回,但不删除对象
_stack.TryPeek(out var result0);
Console.WriteLine(result0);
// 如果顶部有对象就返回,同时删除对象
_stack.TryPop(out var result1);
Console.WriteLine(result1);
// 如果顶部有对象就返回,同时删除对象
_stack.TryPop(out var result2);
Console.WriteLine(result2);
// 如果顶部没有对象,就返回空
_stack.TryPop(out var result3);
Console.WriteLine(result3);