gpt4 book ai didi

c# - .Net 中对 LinkedList 的多线程访问

转载 作者:太空狗 更新时间:2023-10-30 00:56:32 25 4
gpt4 key购买 nike

我需要一个链表才能在两边添加项目。该列表将保存要在趋势查看器中显示的数据。由于有大量数据,我需要在完全读取之前显示数据,所以我想做的是读取一个我知道已经写入的数据 block ,当我读取该 block 时,有两个线程填充集合:

enter image description here

我考虑过使用 LinkedList,但它说不支持这种情况。框架中的任何想法都可以帮助我,或者我是否必须从头开始开发我的自定义列表?

提前致谢。

编辑:解决方案的主要思想是在不锁定任何内容的情况下执行此操作,因为我正在读取列表中的一部分,而在其他地方写入时不会更改该列表。我的意思是,读取线程只会读取一个 block (从 A 到 B)(已经写入的部分)。当它完成并且其他 block 已完全写入时,读取器将读取这些 block ,而写入器将写入新数据。

查看更新后的图表:

enter image description here

最佳答案

如果您使用的是 .NET4,则可以使用两个 ConcurrentQueue .左侧一个,右侧一个。

关于c# - .Net 中对 LinkedList 的多线程访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7497427/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com