具有WMI查询和其他一些查询的多线程对象

时间:2011-06-12 15:01:09

标签: c# wpf multithreading wmi

我目前正在使用 C#4.0 构建服务器监控应用程序,我使用WMI和其他一些库查询硬件信息(CPU / RAM / HDD使用情况)来查询FTP等服务和HTTP。硬件数据查询封装在Server类中,软件服务在Service类中,每个都有一个定时器,按照我设置的间隔定期查询相应的服务器和服务。

但是,由于大多数人可能知道WMI查询需要花费大量时间才能完成,因此软件服务查询将阻止调用者执行。现在我差不多完成构建这些类(服务器和服务),现在是时候考虑将它们集成到UI中了。

我打算使用WPF前端,可能是nRoute框架的导航模板。但是我对WPF和多线程知之甚少。我想要查询的是如何在不同的线程上实例化每个服务器和服务对象,以便它们不挂起应用程序?我可以将它们添加到Collection中,然后在前端显示为列表吗?

非常感谢任何建议和建议,谢谢。

1 个答案:

答案 0 :(得分:0)

有许多选择。

使用收藏集后,请考虑使用concurrent collections

在您的情况下,我将从线程池开始或手动创建线程,如果这对您不起作用,我会考虑其他选项。