首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

[多线程编程方案的选择]一个监控程序引发多线程方案!解决方案

2012-01-30 
[多线程编程方案的选择]一个监控程序引发多线程方案!!我的网络内有多台机器,我想实现定时监控网络上的多台

[多线程编程方案的选择]一个监控程序引发多线程方案!!
我的网络内有多台机器,我想实现定时监控网络上的多台机器,并将对每台机器的监控到的信息写到数据库中.   我初次用多线程编程,我不知道应该用哪种方式比较好:
    1\根据每个机器启动一个线程,负责扫描端口,和将其值写到数据库中去
    2\启动两个线程,一个线程负责写数据库,一个线程负责定时轮询每台机器的端口.发现信息将内容交给写数据库的线程,请大家帮忙给个建议.

[解决办法]
第一种感觉要好一点,不用搞线程同步。
[解决办法]
第一种:这个我比较赞同,如果终端不是很多的情况下这个处理比较好,但是如果终端多的话就要考虑计算机是不是吃得消了,线程是有数量限制的,而且并不是线程开的越多越好。

第二种:这个虽然一个线程只负责读取,一个线程只负责写入,但是还会出现同步问题,处理起来需要考虑的东西比较多。
[解决办法]
写数据库操作是很快的,应该没有必要另开线程(除非轮询操作需要实时响应,
如果你的指纹终端有这种需求,那算我没说)。

另外,给每个指纹机分配一个线程绝对不合理(也太浪费资源了)。一来,轮询
操作不可能很慢,二来,就算你有多个线程分配给每一个指纹机,它们也不可能
真的并行执行——除非你还为每台指纹机分配一个独立的网段和网卡——你不会
有这么多网卡吧?

结论就是:一个后台线程即可,不管有多少指纹机,写个循环轮流处理就行了。
另外别忘了定个适当的轮询间隔,否则你的后台线程CPU占用率就是100%。

热点排行