gpt4 book ai didi

c# - .NET 中不同线程之间共享的列表

转载 作者:行者123 更新时间:2023-11-30 19:00:15 24 4
gpt4 key购买 nike

我在一个类中有一个静态列表,它将被不同的线程访问,每个线程都在列表中添加、读取和删除自己唯一的项目。我想知道我是否必须担心使这个变量线程安全,因为即使在线程之间共享同一个 List 对象,它们也只修改它们自己的唯一项

最佳答案

您肯定必须通过 lock 实现线程安全访问或通过例如ReaderWriterLockSlim .

变量本身 (List<>) 是线程安全的,如果你在第一次分配后(通过 new)不修改它,但元素访问必须是线程安全的(因为你说你从列表中添加/删除元素从而改变它的状态)

顺便说一句,如果线程修改了自己的项目,为什么要共享它们?那么你实现了什么?你为什么这样组织?如果您显示详细信息,也许会有更好的建议。

关于c# - .NET 中不同线程之间共享的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4011031/

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