Здравствуйте, как правильно передавать параметр в функцию потока. То есть как передать "а" в метод Func? Я читал что вроде бы 4 параметр метода CreateThread и есть полем для параметра.
int main(){
DWORD dID;
HANDLE h;
int a;
h = CreateThread(NULL,0,Func,0,0,&dID);
}
DWORD WINAPI Func(LPVOID){
.......
}
Да, один из параметров. Передавайте указатель, а не значение:
#include <windows.h>
#include <iostream>
DWORD WINAPI Func(LPVOID param);
int main()
{
int * param = new int(10);
CreateThread(
NULL, // default security attributes
0, // use default stack size
Func, // thread function name
param, // argument to thread function
0, // use default creation flags
NULL);
...
}
DWORD WINAPI Func(LPVOID param)
{
int * number = static_cast<int*>(param);
std::cout << *number << std::endl;
delete number;
return 0;
}
Сборка персонального компьютера от Artline: умный выбор для современных пользователей