【发布时间】:2023-03-04 12:08:01
【问题描述】:
我开发了一个作为 DLL 的数据采集子系统,它使用自己的线程捕获数据并使用 ObservableCollections 发布数据。我面临几个问题,因为事件的消费者在收到 ObservableCollection 事件时会执行昂贵的操作,这使得我的引擎捕获数据的速度比预期的要慢。
我计划在不同的线程中发送事件以避免这个问题,但我有几个问题:
public class ObservableCollection2
{
public void Add()
{
_internalObservableCollection.Add();
new Thread() { => Raise the event }
}
}
- 这是标准解决方案已经解决的问题吗?看起来 像线程争用应该是比较普遍的事情。
- 使用线程不会严重降低 应用?
- 使用 ThreadPool 不会使用所有可用的 线程在子系统中从 100 发送到 200 是正常的 每秒通知?
感谢您的意见。
【问题讨论】:
标签: .net multithreading thread-safety threadpool observablecollection