一、概述
做客户端开发已经有好几个年头了,今天看到同事发了一篇关于富途牛牛的文章,核心思想就是想说,新版本的富途支持多进程架构了,效率大大提升啦,可以更好的里有多核CPU,提供软件运行效率。
听到这个消息,我不仅感叹,我靠,真的好牛逼。
但是心里又在默默的想,这个东西到底有什么好处,多进程写界面!!!从来没这么搞过呀,会不会有坑,到底比多线程好在了哪里?带着这个问题,从百度上看了几篇相关文章,主要是讲解了线程和进程的一些区别。当然了,最重要的还是目前的多进程架构的客户端已经开始变得多了起来。
其实很早以前就接触过多进程,支持自己好想也没有想那么多,一直对多进程架构的概念不是那么清晰。今天和同事聊了一些相关话题,感觉自己的知识面豁然开朗,要学习的东西好像还挺多。
看下面这张图,是任务管理器的应用截图,以前还真是没发现,居然我自己用的这么多应用都是多进程架构的。
我们平时最常用的Chrome浏览器,客户端版本微信,还有有道云笔记等等
![](https://www.cnblogs.com/images/cnblogs_com/swarmbees/1491901/o_example_muti.png)
有了这么多的多进程架构开发的客户端软件,难道说多进程开发已经是势在必行了?
说这么多,还不如来点儿实际的干货,这篇文章是我初步开始使用多进程开发段产品的初步尝试,有不对的地方欢迎大家指出,可以给出更好建议
二、效果展示
下面是我做的一个demo程序截图,测试程序中一共包含了4个使用场景,分别是:
- Qt嵌入系统自带计算机
- Qt嵌入系统自带记事本
- Qt调用系统ping命令,并收集结果
- Qt嵌入其他Qt可执行程序
![](https://www.cnblogs.com/images/cnblogs_com/swarmbees/1491901/o_mutil_process.gif)
大家可以先看看效果图,如果觉着有价值的可以继续往下看,下面我会分章节把四个事例进行讲解。
三、使用方法
首先需要清楚,我们是多进程界面开发,那么我们的exe启动后,势必是需要启动其他可执行程序的,并且把其他进程的界面嵌入到我们的窗口中来
1、启动外部进程
启动外部进程有多重方式,Qt使用比较习惯的同学可以直接使用QProcess类,这个类是Qt封装的一个