C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
| bool setListening() { listeningThread = CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)ListeningThread(),0,0,NULL); if (listeningThread != INVALID_HANDLE_VALUE) { return true; } else { CloseHandle(listeningThread); return false; } } |
Deze start een thread op, welke de methode "ListeningThread()" uit zou moeten voeren:
C++:
1
2
3
4
| unsigned long WINAPI ListeningThread() { //Allemaal dingen die heel lang duren } |
De methode setListening() roep ik vanuit mijn main aan.
C++:
1
2
3
4
5
6
7
8
9
10
| int main() { Console::WriteLine(GetCurrentThreadId().ToString()); UsbReader* r = new UsbReader(); r->setListening(); while(true) { Console::WriteLine("Main thread"); } } |
Nu is het probleem dat de thread die ik aanmaak, alsnog in dezelfde thread loopt als mijn main. Hier ben ik achtergekomen door de ThreadId's te vergelijken.
Zou iemand mij kunnen vertellen waarom deze thread alsnog in de main thread loopt?