c# - 线程安全数组

标签 c# arrays multithreading thread-safety

我不擅长多线程,但自从我将以下行添加到我的应用程序后,它似乎经常崩溃,所以我假设它不是线程安全的。

私有(private)只读字符串[] _foo = Enumerable.Range(1, 1000).Select(i => i.ToString()).ToArray();

我有什么选择可以使这个线程安全?

最佳答案

初始化数组的代码没问题。您将数组标记为 readonly,这意味着无法将新数组分配给 _foo 字段 - 但您的代码仍然可以修改数组的元素.操作本身不会导致crash,但是如果从多线程改变数组,可能会得到意想不到的结果。

没有更多信息,很难说出问题是什么。您的应用程序在哪些方面崩溃?

关于c# - 线程安全数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6098409/

相关文章:

c# - 部分 View 不会在 ajax.beginform 之后更新

javascript - 当只有一个元素时,字符串数组作为字符串传递到我的 Controller

ruby - 如何在 Ruby 中原生实现像 [] 这样的方法?

java - 越来越多的线程导致我的应用程序滞后

c# - 如何在 .NET 中获取打印机信息?

c# - 在 Microsoft Metadirectoryservices 中保存属性值时出现 InvalidOperationException

java - 将字符串拆分为数组的 n 个长度元素

java - 线程怎么可能已经启动了?

.net - 如何在 C# 2.0 中执行异步文件读取?

c# - ISponsor 和 ILease 接口(interface)如何工作?