本篇博客介绍如何在C++ Qt项目里使用std::thread,以及父子线程之间的交互方法。

怎么编写多线程代码

  很多C++开发者困惑如何使用多线程,其实主要是在做项目时是否有多任务的场景,如果没有则不需要使用到多线程,用一个客户端开发的场景来解释一下如何使用多线程,例如开发一个视频会议软件,当启动时需要检查账号是否登录,验证token是否有效,可能还要检查网络情况,检查远端是否有新版本等操作,这些如果用单线程的方式来写可能比较耗时,创建多个线程来执行的话则可以同步进行,用户体验更好。

如何编写多线程代码

  一般在编写多线程代码时,使用while(stop_flag)这种方式,然后detach分离执行,例如下面获取新版的线程代码:

#include <iostream>
#include <thread>


using 
03-16 13:27