我在空闲时间写了一个图像板刮板来教我主要关于线程。目前我正在使用生产者/消费者类型模式来促进这项工作。但是,我遇到了一个问题。跟踪不同线程上对象实例的状态?
现在,我有“队列处理器”,观察并处理特定类型的线程安全队列。这些队列处理器每隔X秒轮询一次目标队列,并且如果队列中有等待处理的项目,队列处理器会使该项目出队,使用该项目旋转一个新线程并启动线程。在每个线程上,调用长时间运行的方法(如连接到网站并下载文件)。以这种方式,每个项目都有自己的线程运行。
我很难搞清楚如何报告每个线程正在处理的每个项目的状态。
例如,假设我们有主线程MT。 MT产生子线程T1,T2,T3,T4和T5。在每个线程上都有一个对应的对象,O1 ... O5。这些对象可以处于三种不同的状态(S1,S2,S3),而它们正在其线程上进行处理。
如何在对象O的状态发生变化时向主线程MT报告每个对象O的状态S?
我尝试使用事件来报告状态,但我遇到了一些令人毛骨悚然的结果。我搜索了一些关于使用线程和事件的信息,但没有得到太多的结果。
任何帮助,将不胜感激。
谢谢。