![]() |
1
0
在回答问题的第二部分时,您说得很对,尽管.NET4.0中的并发集合实现试图实现无锁,但它们仍然位于非无锁内存分配子系统之上。 内存管理是所有无锁数据结构的祸根:下面是一个关于最新技术的演示: http://sysrun.haifa.il.ibm.com/hrl/ISMM2009/program.html#7
|
![]() |
2
11
堆栈和队列在并发编程中非常有用,就像在顺序编程中一样。
新的
另外,我想指出一件事——你在第二段中有两个误解。链表对于可伸缩性来说并不是特别糟糕。内存分配可能需要定期进行(尽管有一些方法可以解决这个问题),但通常情况下,在可伸缩性方面,这比其他潜在问题付出的代价要小(这真的取决于场景……)还有,新的
|
![]() |
3
3
我可以想象,基于链表的设计是为了使它无锁。它的可扩展性有什么问题,您还考虑了哪些其他选项? |
![]() |
4
2
这里有一篇最近的博客文章,它精确地涵盖了您所关注的问题(使用ConcurrentBag和TPL的GC问题),建议了在现场发现和分析这个问题的方法(VS2010 Concurrency Visualizer)。部分解决方案建议使用服务器GC。 |
|
Robert King · Unity C#语法问题-转换位置 1 年前 |
![]() |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
|
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
![]() |
i_sniff_ket · 在unity之外使用unity类 2 年前 |