QT 信号槽 异步事件驱动 单线程 多并发
Posted 雁北
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QT 信号槽 异步事件驱动 单线程 多并发相关的知识,希望对你有一定的参考价值。
利用好Qt 模块的异步信号槽,单线程同样可是实现很强悍的的并发能力。应付正常的功能是足够的。
需要注意的是:该模式本质上为 单线程 事件驱动异步模式,所以需要做的事优化你的业务代码构架以应付性能与并发压力需求。
(当然能够实现异步事件驱动,在Qt模块内部还是启动了更多的子服务线,但在用户代码层面确实单线程模式)。
案例场景:
客户端程序,连接多服务端,接收服务端的上传数据。
20个TCP服务端启动。客户端APP逐个建立连接;
单个服务端上传吞吐:一个PDU 大小: 512*2*20字节 上传频率:50-100毫秒一个PDU
普通台式机:CPU 占用<10%
非特定场合,多线程不一定是首选。
以上是关于QT 信号槽 异步事件驱动 单线程 多并发的主要内容,如果未能解决你的问题,请参考以下文章
QT多线程及通过事件进行通信(通过自定义事件,然后QApplication::postEvent给主界面,我之前用的是信号槽)