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

qt多线程的设计思路解决思路

2013-03-06 
qt多线程的设计思路我要写一个tcp服务器的程序.在多线程设计的时候遇到了点想不明白的地方我的程序特点是

qt多线程的设计思路
我要写一个tcp服务器的程序.
在多线程设计的时候遇到了点想不明白的地方
我的程序特点是每个连接时间都不长程序量也不大
我的想法:
1 一个客户端连接开启一个线程,结束后删除
2 定义固定数量的线程去响应客户端请求

如果是方案一
会频繁的new和delete QThread 这样的话会不会给操作系统带来很大的负担?
如果是方案二
固定数量应该怎么定义?多大才合适?因为每个线程任务都不多,太小了不能及时响应客户端的连接,太大了会浪费很多内存

还有另外一个问题.
我new QThread了一个新的线程后 不想由其他线程来管理了
那么 我怎么让这个线程结束并删除自己呢? 
在程序中 Delete this? 
还是在程序中 调用析构函数? 我没有自己定义析构函数  这样做有用么?
我要不要在析构函数中 使用 Delete this?
[解决办法]

引用:
引用:
引用:1) 连接数不大,数据流不多的情况下直接上select,不用多线程
2) 你是对的,线程的创建和销毁对CPU来说的确是很大开销,特别是多线程时,会有线程切换,开销更大。
3) 标准的进程内线程最大使用数定义为CPU数目*2
 根据你的描述,没必要每次都创建或销毁线程,可以让线程一直在那里呆着,等到有新……


多看看网络编程吧
如果select也没听说过 上来做高并发的server还是很有难度的

热点排行