首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#多线程更新/从主数组读取

C#多线程更新/从主数组读取
EN

Stack Overflow用户
提问于 2013-03-09 17:07:32
回答 2查看 173关注 0票数 1

我正在开发一个同时执行多个搜索的应用程序。每个人都有自己的线索。每个线程都需要检查一个数组,以确定结果是否已经出现。如果没有显示结果,那么将结果显示给用户,并将其添加到主数组中。因此,每个线程都需要能够同时读写主数组。

我来自PHP和JS背景,所以我对线程和C#非常陌生。这里的任何帮助都将不胜感激。

编辑:--我正在使用BackgroundWorker进行多线程。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-09 17:18:20

我不知道在使用BackgroundWorker 4.5时使用.NET的理由

因此,请允许我补充:

  1. 帮助自己,并使用Task Parallel Library (Task.Run/Task.Factory.StartNew()Parallel.For/Parallel.ForEach,视您的需要而定)。
  2. 您要么必须锁定(例如lockSlimReadWriterLock),要么使用来自Collections.Concurrent命名空间的集合。

现在这是一个很长的话题,所以如果你还有任何疑问或问题,我会适当地编辑答案。在我链接的MSDN页面上有几个例子。

票数 4
EN

Stack Overflow用户

发布于 2013-03-09 17:24:06

如果我没记错的话,PHP中的“数组”在作为键/值查找数据结构方面类似于字典。

在这种情况下,并且考虑到您使用的是最近版本的.Net,"System.Collections.Concurrent“命名空间中的"ConcurrentDictionary”听起来是最容易使用的选项。

祝好运,

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15313509

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档