同步调用为阻塞式的执行函数,当前函数未执行完毕,程序不会往下运行。对于异步调用的函数,是非阻塞的运行,即使没有执行完毕程序也会往下执行,在qt程序中,若想实现异步调用函数,可以通过以下两种方法实现
方法一:使用c++的std::async()
使用时需要在项目文件中加入c++11支持
QMAKE_CXXFLAGS += -std=c++11
所需头文件
#include<future>
函数原型:
future<typename result_of<Fn(Args...)>::type> async(launch policy, Fn&& fn, Args&&...args);
对于launch policy,可以是:
std::launch::async //异步执行
std::lau