QtConcurrent ::run延迟三秒启动
时间: 2023-08-10 19:34:26 浏览: 237
Spring Boot 2.2.2 启动过程源码分析.md
5星 · 资源好评率100%
在 Qt 中,使用 QtConcurrent::run() 函数可以启动一个新线程来执行函数。如果需要在延迟后启动新线程来执行函数,可以使用 QTimer::singleShot() 函数来实现延迟。具体代码如下:
```cpp
#include <QtConcurrent>
#include <QTimer>
// 在新线程中执行的函数
void myFunction()
{
// ...
}
// 在延迟后启动新线程执行 myFunction() 函数
void startMyFunction()
{
// 延迟 3 秒后启动新线程执行 myFunction() 函数
QTimer::singleShot(3000, [](){
QtConcurrent::run(myFunction);
});
}
```
在这个例子中,使用 QTimer::singleShot() 函数来实现 3 秒的延迟,并将启动新线程执行 myFunction() 函数的逻辑放到 lambda 表达式中。然后将这个 lambda 表达式作为参数传递给 QTimer::singleShot() 函数,实现延迟启动新线程的需求。
阅读全文