Threads



  • Hi zusammen,

    nachdem ich uns gestern zum sieg geschossen habe 😃 könnte ich mal n bißchen hilfe gebrauchen, aus der msdn werd ich nämlich nicht ganz schlau. ich versuche mich gerade an der thread-programmierung. und zwar habe ich in meinem programm eine funktion, die ziemlich lange rechnet. ich möchte aber deswegen nicht das ganze programm Lahm legen 🤡. hier meine drei fragen:

    1. in der fkt wird dynmaisch speicherplatz allokiert. muss ich dem thread-aufruf deswegen eine bestimmte stack-größe zuweisen? ich weiss hier aber auch noch gar nicht wieviel speicherplatz ich brauche. im moment schmiert er bei der reservierung immer ab.

    2. kann ich von außerhalb irgendwie feststellen ob der thread und damit die berechnungen beendet sind?

    3. kann ich den thread von außerhalb irgendwie abbrechen? endthread kann ja anscheinend nur innerhalb des threads aufgerufen werden.

    und immer dran denken, du bist du deutschland 😉



  • 1.) Als stacksize 0 angeben
    2.) WaitForSingleObject



  • 1. Wenn Du dynamisch Speicher allokierst (new/malloc), hat das mit dem Stack nichts zu tun.

    2. GetExitCodeThread oder WaitForSingleObject(hThread, ...)

    3. Nein. Du musst dem Thread mitteilen, dass er sich beenden soll (für die Besserwessies: Ja, es gibt eine Möglichkeit, die sollte man aber *nie* verwenden (siehe mein Blog).


Anmelden zum Antworten