2

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

我知道我可以创建一个类或结构,但是如果我有一些不相关的数据我不想合并到一个类或结构中怎么办?

Boost库似乎允许多个参数,但我将如何为标准c ++ _beginThreadEx做多个参数?

#include <iostream>
#include <process.h>

unsigned __stdcall myThread(void *data)
{
    //C:\dev\default 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);
}
4

1 回答 1

7

定义一个结构或类。即使看起来发送单独值的东西最终也会在下面做同样的事情。你的两个值相关的——至少,它们都是你的线程函数的参数。

于 2012-10-17T13:40:11.860 回答