当前位置:编程学习 > C#/ASP.NET >>

请教多线程、资源分配问题,请高手指点

现在有500间房屋,每个房屋有很多设备数据需要实时监测,数据分两类,开关数据(空调开关等),模拟数据(房间温度等),开关数据变化就需要记录,模拟数据可以1分钟监测一次,在一个房间中开关数按20个计算,模拟数按40个计算。

现在使用多线程监测其数据,我应该开启多少线程?线程工作怎么分配好?
方案1:
使用25个线程进行开关量的监测,每个线程负责20房间的开关测点的监测;
使用10个线程进行模拟量的监测,每个线程负责50个房间的模拟测点的监测。

方案2:
使用使用50个线程,每个线程监测10个房间,负责房间的开关测点与模拟测点的监测

不知道是否有其他方案。。??

线程可以根据参数配置,这些监测都必须在一台服务器上部署完成。而且服务器可能部署其他应用,资源能少占用就少占用。

请教高手怎么分配以及怎么运用线程比较好?谢谢
--------------------编程问答-------------------- 取决于你‘监测’的具体实现,和‘实时’的具体要求。


--------------------编程问答-------------------- 我觉得都丢到线程池里就好 --------------------编程问答-------------------- 具体多少线程好,是和线程多久能完成工作相关的,当然也和服务器及网络的硬件相关。

所以这个数据最好是可配置的,在现场进行测试后才知道。 --------------------编程问答-------------------- 继续期待ing --------------------编程问答-------------------- 线程数量不要限制,让线程池来自动处理,每个操作单独线程,最大可能1000线程并发。
但为了避免这样的并发现象出现,尽可能错开检测事件,合理分配检测时间点,让并发量减少。线程池会自动重用结束的线程,因此减少并发就能够减少线程的数量,达到最佳分配线程数量的目的。 --------------------编程问答-------------------- 监测(从开始采样到拿到数据)的效率怎样?
同时工作的线程数量不宜太多,看实际情况
开关仅变化的时候才纪录,可实现INotifyPropertyChanged来处理
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,