将多个参数传递给_BEGINTHREADEX

pass more than one parameter to _beginThreadEx

本文关键字:BEGINTHREADEX 参数传递      更新时间:2023-10-16

是否可以将多个参数传递给beginthreadex?

我知道我可以创建类或结构,但是如果我有不想将其合并到类或结构的无关数据呢?

Boost库似乎允许多个参数,但是我将如何为标准C _BEGINTHREADEX进行多个参数?

#include <iostream>
#include <process.h>
unsigned __stdcall myThread(void *data)
{
    //C:devdefault threads_threads.cpp|6|error: invalid conversion from 'int*' to 'int' [-fpermissive]|
    int *x = static_cast<int*>(data);
    //int *x = (int*)data;
    std::cout << "Hello World! " << x;
}
int main()
{
    int x = 10;
    _beginthreadex(NULL, 0, myThread, &x, 0, NULL);
    while(true);
}

定义结构或类。甚至似乎发送单独值的东西最终都会在下面做同样的事情。您的两个值相关 - 至少它们都是线程函数的参数。