mpe*_*pen 5 c# collections container-classes
我正在编写一个程序,其中一个线程需要将项目推送到队列中,并且一个或多个线程将项目从队列中弹出并处理它们.为了避免内存不足,我希望生产者线程在队列变满时休眠.有些项目的优先级高于其他项目,所以我希望首先处理这些项目.如果项目具有相同的优先级,我希望首先添加的项目首先被处理.
我想在WPF DataGrid中显示前100个项目,因此它也需要由UI线程访问.如果它可以通知UI线程也有更新,即实现IObservable,那将会很好.
是否有容器类可以完成所有这些操作?
对于奖励积分,我很确定在排队和出队时都不需要锁定整个队列.
.NET 4实现很好.