Probleme mit erstellen von Threads
-
Und den Zeiger auf die Thread-ID würde ich auf jeden Fall übergeben damit es nicht unter Windows 98 abstürzt.
-
....... schrieb:
Einen Cast nach LPTHREAD_START_ROUTINE braucht man nie!!
Wenn man keinen Bock auf langweilige Warnungen hat schon
BR
-
Wenn ohne den Cast Warnungen kommen hast du was falsch gemacht.
-
Hmm ok. Ich gebs zu, ich habe mich getäuscht *fg*
Ich habs grad mal getestet.
*g*
BR
-
Also bei mir kommen da keine Warnungen:
#include <windows.h> class Foo { static DWORD WINAPI Bar(LPVOID pData) { return 0; } void StartThread() { DWORD dwThreadId; CreateThread(NULL, 0, Bar, NULL, 0, &dwThreadId); } };
Aber wie gesagt> Besser w're>
#include <process.h> class Foo { static void Bar(void* pData) { } void StartThread() { _beginthread(Bar2, 0, NULL); } };
-
Jochen Kalmbach schrieb:
Also bei mir kommen da keine Warnungen:
#include <windows.h> class Foo { static DWORD WINAPI Bar(LPVOID pData) { return 0; } void StartThread() { DWORD dwThreadId; CreateThread(NULL, 0, Bar, NULL, 0, &dwThreadId); } };
Ich hab ja gesagt das ich mich getäuscht habe
BR
-
evilissimo schrieb:
Ich hab ja gesagt das ich mich getäuscht habe
Sorry! Ich hab Dich dann falsch verstanden...
-
Also erstmal serh vielen Dank an Alle.
@jochen geht alles jetzt danke. ach und beginthread ist doch
eine VC Funktion ich will aber direkt an der API programmieren. Oder gibt
es irgendwelche Vorteile außer das der Speicher aufgeräumt wird?
@All nur um es mal zu wissen. Was ist ein "cast"?Many thx nochmal
MFG
Ace
-
Was meinst du mit VC Funktion??? Der Jochen hats doch schon erklärt, wenn du die CRT benutzt (Was du bestimmt tust!!) dann solltest du _beginthread(ex) benutzen.
MfG,
*Ranner*
-
AceKiller73 schrieb:
@All nur um es mal zu wissen. Was ist ein "cast"?
Das sind Grundlagen... ->
-
Wenn Sie beabsichtigen, C-Laufzeitroutinen von einem Programm aus aufzurufen, das mit Libcmt.lib erstellt wurde, müssen Sie die Threads über die _beginthread-Funktion oder über die _beginthreadex-Funktion starten. Verwenden Sie nicht die Win32-Funktionen ExitThread und CreateThread. Bei der Verwendung von SuspendThread tritt möglicherweise ein Deadlock auf, wenn mehrere blockierte Threads darauf warten, dass der unterbrochene Thread den Zugriffsvorgang auf eine C-Laufzeitdatenstruktur abschließt.