QtConcurrent::run([&] 怎么使用
时间: 2024-03-09 18:49:14 浏览: 60
Qt QtConcurrent 多线程 demo
QtConcurrent::run()函数可以用于在新的线程中执行一个函数或者Lambda表达式。其中,Lambda表达式是一个匿名函数,可以在函数内部定义,比较方便。
使用方法如下:
1. 首先,需要包含QtConcurrent头文件。
```c++
#include <QtConcurrent>
```
2. 然后,定义需要在新线程中执行的函数或Lambda表达式。
```c++
void myFunction(int value){
// 执行一些操作
}
```
或者
```c++
auto lambda = [&](){
// 执行一些操作
};
```
3. 最后,使用QtConcurrent::run()函数,在新线程中执行函数或Lambda表达式。
```c++
QtConcurrent::run(myFunction, 42); // 在新线程中执行myFunction函数,传入参数42
QtConcurrent::run(lambda); // 在新线程中执行Lambda表达式
```
其中,第一个参数是需要在新线程中执行的函数或Lambda表达式,后面的参数是该函数或Lambda表达式需要接收的参数。如果不需要传入参数,则可以省略后面的参数。
阅读全文