我写了一个很好的优先级队列类,
class ConcurrentPriorityQueue<T>
: IProducerConsumerCollection<KeyValuePair<int,T>>, INotifyCollectionChanged
where T : INotifyPropertyChanged
我现在想将其包装在 a 中BlockingCollection
,
Queue = new ConcurrentPriorityQueue<DownloadItem>(10);
Buffer = new BlockingCollection<KeyValuePair<int, DownloadItem>>(Queue, 1000)
{
new KeyValuePair<int, DownloadItem>(0, new DownloadItem{Url = "stackoverflow.com"})
};
这样它就可以增加最大容量,并希望有一些线程安全性。然而现在,我似乎失去了可观察的功能!
如何将 DataGrid 连接到该集合,以便它仍然接收集合更改通知?
绑定到底层集合(优先级队列)似乎有效。然后我就打电话Add
and Take
而是在阻塞集合上。我想这就是他们决定将这些物体分开的原因。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)