【发布时间】:2015-10-19 12:11:44
【问题描述】:
我需要一个列表或集合,甚至是数据表。我想要一个进程将 STRING 添加到此列表中。 (这可以是用户单击按钮)而线程在后台不断运行并处理和删除列表中的字符串。
简而言之,每当我将项目添加到列表\数据表或其他任何内容时,都必须对其进行处理,因为添加它们的过程比实际处理它们要快得多。
关于最好的方法有什么建议吗?
【问题讨论】:
-
除了现有的各种并发集合之外,您还可以使用 ActionBlock 使用单个类来完成所有这些操作
-
您的收藏是 FIFO 的吗?如果是这样,那么我建议使用ConcurrentQueue<T>
-
通过基础研究很容易找到,例如搜索“线程安全列表 wpf”
-
@jgauffin 这不是 OP 所要求的。事实上,大多数答案都是不合适的,因为它们涉及 async/await 或 Invoke,这些都与经典的生产者/消费者问题无关
标签: c# multithreading