Frage zum Threading
-
Huhu,
ich beschäftige mich momentan ein bisschen mit threading unter windows, und jetzt habe ich halt gelesen das wenn man einen thread startet dafür nur eine funktion die den typ DWORD WINAPI hat nehmen darf, stimmt das? und wenn ja wieso?
Danke
Ikar
-
Ist ein bisschen sehr ungenau deine Beschreibung.
Hier die Doku zu CreateThread(..) und _beginthreadex(..):
http://msdn.microsoft.com/en-us/library/ms682453(VS.85).aspx
http://msdn.microsoft.com/en-us/library/kdzttdcb(VS.71).aspxCreateThread(..) verlangt folgende Signatur für die Thread Funktion:
DWORD WINAPI threadfunc(LPVOID args)Für _beginthreadex(..) wie folgt:
unsigned int __stdcall threadfunc(void* args)Prinzipiell steht in der Doku was für eine Signatur verlangt wird.
Und das ist so, weil es so ist... weil es so designed wurde.Simon
PS: Falls Du denkst einen cast zu benötigen, machst Du was falsch!
-
Und bei CreateThread solltest du dies hier noch beachten: http://blog.m-ri.de/index.php/2007/11/28/createthread-und-die-crt/