C#逆转并发堆栈的顺序

时间:2013-12-16 17:18:56

标签: c# concurrency stack

我想以线程安全且性能有效的方式颠倒并发堆栈的顺序。我想这样做的方法是弹出并发堆栈的每个元素并将其推入另一个临时并发堆栈。完成后,临时堆栈将包含相反的顺序,主堆栈将为空。我当时会做这样的事情:

mainStack.PushRange(tempStack.Reverse().ToArray());

但是,我认为这不是线程安全的。

TIA

1 个答案:

答案 0 :(得分:0)

就个人而言,如果我需要这么多的数据结构灵活性(并且担心框架中当前存在的数据结构的效率或功能),我会编写自己的并包含必要的访问器和行为修改属性我需要的。这样,如果它没有达到期望,你总是知道去哪里。