Bestimmten thread schließen, welcher mit _beginthread() erstellt wurde?
-
Hey!
_endthread(ex) kann man ja höchstens den return-Wert übergeben... Aber wie schließe ich einen bestimmten thread, welcher mit _beginthread erstellt wurde?
Ich möchte in dem thread eigentlich nur die winsock listen-funktion nutzen, reicht dazu nicht auch CreateThread() und TerminateThread()?
Danke!
MfG
-
Das geht meines Erachtens nur mit Events, da gibt es keinen bestimmten Befehl bzw keine (mehr oder weniger) schöne WIN-API-Funktion, die du nutzen kannst ^^
(Wenn du mit listen arbeitest wirds wo nen WSA_Event werden, aber es geht auf jeden Fall)
Weiß nicht, in wie fern listen zusätzlich noch Events akzeptiert, ansonsten müsstest du dir das eben bissl umständlicher basteln ^^
-
Ich möchte in dem thread eigentlich nur die winsock listen-funktion nutzen, reicht dazu nicht auch CreateThread() und TerminateThread()?
TerminateThread ist böse. Verwende TerminateThread nicht. Pfui, pfui, pfui.
Sorge einfach dafür dass du deinen Thread kontrolliert beenden kannst (d.h. den Thread dazu bringen selbst "return" aus der Thread-Funktion zu machen). Oder verwende erst garkeinen, wo keiner nötig ist. listen() kannst du auch anders asynchron hinbekommen, Windows bietet dafür viele Möglichkeiten.
Die Portable wäre den Socket auf non-blocking zu schalten, und select() zu verwenden.
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.