+ -
当前位置:首页 → 问答吧 → vc++网络系统开发用多线程还是单线程?

vc++网络系统开发用多线程还是单线程?

时间:2011-12-12

来源:互联网

请教大家一个技术问题(visual C++):
我正在开发一套网络系统,系统包括了22台网络设备,有独立的IP,每个设备通过交换机不定时向主机发送信息,用XML文件的格式发送,数据量不是很多。系统是实时的,每个20秒和130秒分别要向22台设备发送轮询请求。请问,我是应该开辟22个线程来分别处理信息,还是用同一个线程比较好?
轮询请求是每隔固定时间由主机电脑发出,而每个设备不定时向主机发送信息。

作者: lordman1982   发布时间: 2011-12-12

可以用一个线程池,这样就不需要那么多线程,降低资源消耗,效率也能提高

作者: oyljerry   发布时间: 2011-12-12

线程池 + 队列

作者: stjay   发布时间: 2011-12-12

引用 1 楼 oyljerry 的回复:
可以用一个线程池,这样就不需要那么多线程,降低资源消耗,效率也能提高


使用线程池?
也是多线程程序啊?

可以降低开关线程的开销,效率高这到是对的。

本问题因该这样分两个方面:
a.从你的技术角度来说,一个线程单独做收发,技术要求低.这样需要22个线程.
b.单独使用发送和接收2个线程,但需要使用异步对象,对技术要求高一点.

所以对你来说,a也行,b也行,
建议在a的基础上,在实现b.

作者: yanjinbin   发布时间: 2011-12-12

这种需求就是线程池的典型运用场景.

作者: yuucyf   发布时间: 2011-12-12

线程池 
不要每个设备开一个线程 最好根据本机的情况

作者: qq752923276   发布时间: 2011-12-12

网络程序服务器端一般都是多线程

作者: VisualEleven   发布时间: 2011-12-12

热门下载

更多