gpt4 book ai didi

c# - List 可以被多个线程访问吗?

转载 作者:可可西里 更新时间:2023-11-01 08:54:56 26 4
gpt4 key购买 nike

我打算在多个线程之间共享一个列表。该列表将在更改期间被锁定,这种更改很少发生。如果同时从列表中的不同线程进行多次迭代,是否存在线程安全问题?

最佳答案

如果可以(如果可以使用 .NET 4),请使用 BlockingCollection<T> :

Provides blocking and bounding capabilities for thread-safe collections that implement IProducerConsumerCollection<T>.

如果没有,则完全封装列表并添加访问 List<T>'s 的线程安全方法状态。不要公开对列表的引用或从任何方法返回它 - 始终封装引用,以便您可以保证锁定对它的所有访问。

关于c# - List<t> 可以被多个线程访问吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4504335/

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