我已将此处的非阻塞队列伪代码移植到 C#。下面的代码是论文的近逐字副本。
您将采用什么方法来测试实施?
注意:我在 VS2010 中运行,所以我还没有 CHESS 支持。
编辑:
我已经删除了有问题的代码,所以一些毫无戒心的开发人员不会使用它——它需要进行相当多的更改才能让它没有错误……我仍然不能 100% 确信它没有错误。通过蛮力测试,我无法让它比基于锁的解决方案执行得更好。
此外,由于我的目标是 3.5,所以我认为我是 SOL 与 4.0 并发队列。3.5 RX 框架包括一个 ConcurrentQueue,所以这确实只是一个有趣的小编程练习,仅此而已。