【发布时间】:2010-08-27 14:09:15
【问题描述】:
(作为理由 - 我从未使用过线程,所以下面的描述只是我希望你批评的一个想法)
任务概述:
- 有一些对象的列表
- 我们需要检查对象是否以某种方式更改
- 如果已更改 - 应用一些逻辑(例如 - 显示通知)。
这就是我认为应该实现的方式:
我们创建计时器,每分钟触发一次,它遍历对象列表并找到需要检查的对象。之后,我们将该对象(或者更具体一点 - 一些任务对象,包含对象和任务描述:以检查它是否已更新)添加到队列中。
Worker(线程池中的某个线程)一直等待,直到将某些内容添加到队列中,并且在它发生之后 - 它接受 Task 并对其进行处理:检查 Object 是否已更改。如果是这样 - 它会添加另一个任务,通知一个。现在,如果需要,另一个处理通知任务的工作人员将处理此任务。
那么,这是完全错误的想法吗?这里有什么可以改进或改变的?
UPD:根据第一个答案:对象依赖于某个repot资源,而“更改”意味着某些远程数据已更改(或以某种特定方式更改)。所以这不能用INotifyPropertyChanged解决。
【问题讨论】:
标签: .net multithreading queue