首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

实时监控 线程解决思路

2012-02-04 
实时监控 线程现在要开发一个设备监控程序,有8类40多台设备需要通过串口进行监控。我现在的做法是每类设备

实时监控 线程
现在要开发一个设备监控程序,有8类40多台设备需要通过串口进行监控。我现在的做法是每类设备做个类,在类中定义一个查询线程。现在这些设备的采集采集程序分在多台计算机上完成。想请教高手我如果我都在一台设备上完成,一个主程序里面开怎么多线程是否有问题,比如引起死机等。或者有什么更好的实现方法,要实时性好。
举例:
class A
{
  MCthread *mc; // 设备状态查询线程
  A();
  CMD(); //设备控制方法。
}
A::A
{
  mc = new MCthread();
}

A::CMD()
{
  //挂起线程
  //执行设备控制命令。
  //恢复线程 
}

另外,有类设备,每两个设备之间的参数要进行比较,我现在是用一个线程里查询两个设备的状态,然后比较,处理,存储到数据库。考虑到实时性,我想在线程里只完成查询和存储,比较和处理在别的地方完成,但没有想好如何实现,如果比较和处理也做成线程的话,那程序里的线程就太多了,希望各位大虾多给意见。

环境,win200 + sql server 2000


[解决办法]
会不会造成延时主要看采集的数据和比较处理的速度,如果一台电脑不能监控这么多设备的话就不行,这不是线程的多少问题
而且电脑跟设备的通信方式也回产生延时,这些都要测试才知道,比如说,如果你的CPU占用率100%,那肯定回造成延时,或者通信带宽不够也会有问题

热点排行