查看完整版本: [-- QT多线程传大数据怎样效率高? --]

QTCN开发网 -> Qt基础编程 -> QT多线程传大数据怎样效率高? [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

jingjunlai 2019-05-06 10:24

QT多线程传大数据怎样效率高?

比如我的服务器每连一个客户端都创一个线程,这个线程解包组包成结构体然后发给主线程,那么我应该用信号槽连接接收吗?因为不同线程下信号槽传参数引用和传值本身是没区别,都是复制传递,效率低,那么是应该用什么方法比较好?

青空飞羽 2019-05-06 14:07
可以考虑用一个公共队列存储通讯线程收到的数据,主线程从该队列中取出数据进行处理

hitler++ 2020-01-14 00:11
应该用异步多连接,而不是多线程

angelus 2020-01-14 09:20
写一个静态列表,然后加上线程同步,每个线程都往这个列表中放数据就行,放好数据就发送一个信号,通知主线程有更新,主线程也访问这个列表,加读写锁,取出数据,注意不要死锁就行了

如果要提高效率,可以多创建几个静态列表,然后动态平衡,把线程写数据平均分派到不同的列表里,在通知信号里告诉主线程当前线程写到那个列表中就行了,不过没太多必要,毕竟主线程处理是顺序处理,如果也是多线程处理,这样会提高效率




查看完整版本: [-- QT多线程传大数据怎样效率高? --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled