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

本文关键字:查询 多线程 对象 其他 WMI 带有 | 更新日期: 2023-09-27 17:59:01

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

然而,正如大多数人可能知道的那样,WMI查询需要花费大量时间才能完成,并且软件服务查询在执行时会阻塞调用方。现在我几乎已经完成了这些类(服务器和服务)的构建,是时候考虑将它们集成到UI中了。

我计划使用WPF前端,可能是nRoute框架的导航模板。然而,我对WPF和多线程技术知之甚少。我想问的是,如何在不同的线程上实例化每个服务器和服务对象,使它们不会挂起应用程序?我是否可以将它们添加到集合中,然后在前端显示为列表?

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

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

有许多可用选项。

  • 使用线程池
  • 使用任务
  • 使用后台工作人员
  • 在此处手动创建线程

使用集合后,请考虑使用并发集合。

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