【发布时间】:2014-02-27 04:35:12
【问题描述】:
我有一个带有按钮、计时器和 ImageSearch 类的 C# 表单。
此按钮启动 6 个对象(ImageSearch),它们将为我进行一些图像搜索。
这 6 个对象各自单独更新主窗体上的图片框。
当我的按钮创建对象并启动定时器时,定时器会执行每个对象的抓取功能。
我的问题是他们一次处理一张图像,而不是单独处理,即使它们是单独的对象。如何让它们独立运行,制作 6 个计时器?
我希望所有对象同时运行。
当我的表单开始时,我创建了所有 6 个对象。
ImageSearch imageSearch1 = new ImageSearch(URL);
ImageSearch imageSearch2 = new ImageSearch(URL);
ImageSearch imageSearch3 = new ImageSearch(URL);
ImageSearch imageSearch4 = new ImageSearch(URL);
ImageSearch imageSearch5 = new ImageSearch(URL);
ImageSearch imageSearch6 = new ImageSearch(URL);
然后我的按钮只是启动计时器,Timer1 到 timer6 被启用并设置间隔。
以定时器 1 为例:
imageSearch1.Crawl();
【问题讨论】:
-
没有代码很难弄清楚你的计时器在做什么,无论如何,计时器似乎不是解决问题的合理方法。此外,如果图像来自网络,则图像加载应该是异步的,即包装在任务或线程中。
-
一些代码会有所帮助。
-
我猜你将不得不使用多个线程来达到你的目的。
标签: c#