beginthreadex()怎样向线程函数传递参数

小亿
110
2023-12-19 09:23:47
栏目: 编程语言

在C++中,可以使用lambda函数来实现向线程函数传递参数。以下是一个示例代码:

#include <iostream>
#include <thread>

void threadFunc(int param) {
    std::cout << "Thread function. Parameter: " << param << std::endl;
}

int main() {
    int param = 42;
    std::thread myThread([&param]() {
        threadFunc(param);
    });

    myThread.join();
    
    return 0;
}

在这个示例中,我们使用lambda函数来创建一个线程。lambda函数捕获了param变量,并作为参数传递给线程函数threadFunc。在lambda函数内部调用threadFunc时,使用了捕获的参数param

注意,在创建线程时,我们将lambda函数作为参数传递给std::thread构造函数。lambda函数的参数列表为空,因为我们捕获了外部的param变量。

这样,我们就成功地向线程函数传递了参数param。线程函数threadFunc会打印出参数的值。

0
看了该问题的人还看了