![]() |
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。 |
![]() |
Thomas · 使类型别名在F中不可互换# 2 年前 |
![]() |
sdgfsdh · 我该怎么说。使用异步转换函数进行收集? 6 年前 |
![]() |
Soldalma · 我可以实例化包含顶级副作用值的类吗? 6 年前 |
![]() |
matekus · F#-包含数字的字符串的自然排序 6 年前 |
![]() |
matekus · F#类型匹配-无法创建映射或匹配记录 6 年前 |
![]() |
Rob Lyndon · 未找到F#ProvidedTypes文件 6 年前 |
![]() |
red-swan · 如何将intro ML.Net演示翻译为F#? 6 年前 |
![]() |
jkone27 · F#-在编译时从字符串生成简单的空类型 6 年前 |