c# - 没有锁定的最佳并发线程共享内存架构是什么?

标签 c# multithreading locking shared-memory

我有一个二维内存数组。我有多个线程自发地、任意地并发地读取和写入数组中的单个元素。

构建内存访问代码的最快方法或最佳实践是什么?我不喜欢锁定的想法,因为它会阻塞其他线程。

数据完整性其实没那么重要,但应该(大部分)一致。我的代码可以处理一些内存错误。

它需要非常非常快!

感谢您的反馈。

最佳答案

如果数据完整性不重要,您可以只访问数据而根本不关心多线程。

虽然没有人能预测结果。

不过,我不会将这种方法称为“最佳实践”。恕我直言,最佳实践是关心多线程,并使用适当粒度的互斥体保护数据。我的意见是每个应用程序都应该首先正确,然后再快速。不一致的结果就是错误的,不管它们来得快不快。

关于c# - 没有锁定的最佳并发线程共享内存架构是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7769776/

相关文章:

c# - ASP.NET Core Web API : how to assign value of null to a missing property in the request when parameter binding

c - MPI:处理器在单个 MPI 进程上无法达到 100%

android - RxAndroid ViewObservable NetworkOnMainThreadException

java - Java 应用程序的锁分析器

c# - 在 C# 或 Java 中基于多个分数进行字符串查找的好方法

c# - 如何在数据更改时更新我的​​ RSS 提要?

sql - SQL Server 锁定在这种情况下如何工作?

gradle - 中止gradle时无法锁定文件哈希缓存

c# - 当我尝试在 MVVM WPF 中使用命令修改对象时,为什么在 View 模型中出现空错误?

C Printf 不在线程内部打印?