【问题标题】:Multithreading Objects with WMI Queries and Some Other Queries具有 WMI 查询和其他一些查询的多线程对象
【发布时间】:2011-06-12 15:01:08
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: c# wpf multithreading wmi


    【解决方案1】:

    有许多可用的选项。

    一旦使用集合,请考虑使用concurrent collections

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

    【讨论】:

    • 感谢您的建议,将尝试一下,看看效果如何。欢迎任何其他建议。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-09
    • 2014-08-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多