【发布时间】:2011-05-11 17:16:09
【问题描述】:
我正在尝试使用 _beginthreadex 进行一些基本的并行化,并按照我给出的示例传递参数,但它不起作用。
有什么想法吗?
#include <iostream>
#include <process.h>
void MyThread(void *data)
{
std::cout << "Hello World!";
}
int main()
{
_beginthreadex(NULL, 0, MyThread, NULL, 0, NULL);
while(true);
}
编辑:
为什么不能将 NULL 作为参数传递? (因为函数无论如何都没有参数?)
将 NULL 作为参数列表传递给 _beginthread 效果很好。
【问题讨论】:
-
它有什么作用?怎么不行?
-
错误 C2664: '_beginthreadex' : 无法将参数 3 从 'void (__cdecl *)(void *)' 转换为 'unsigned int (__stdcall *)(void *)'
-
显然你的函数需要返回一个整数。查看我编辑的帖子。
标签: c++ windows multithreading