Thread beenden



  • häh schrieb:

    CodeFinder schrieb:

    häh schrieb:

    TerminateThread

    Ist unsauber, sollte man nicht verwenden!

    Komm plapper nicht Jochen nach, die Funktion gibt es und das hat auch seinen Grund.

    Troll


  • Mod

    TerminateThread regulär zu verwenden ist unverantwortlich!

    Nehmen wir nur mal ein ein Thread verwendet eine eigene Funktion oder OS Funktion die intern einen Mutex oder eine CriticalSection blockiert und nun kommt ein anderer Thread daher und sagt TerminateThread...
    Wenn alles gut geht hängt sich nur die eigene Applikation auf.

    Nur aus der Existenz einer Funktion zu schließen, dass jeder diese Funktion jederzeit aufrufen kann ist ziemlich ignorant.
    Das hat nichts mit nachplappern zu tun sondern mit Nachdenken und Intelligenz... 🕶



  • achso, also mit kontrollstrukturen arbeiten.

    aber was mache ich jetzt mit meinem Wecker? <== darum geht's ja eigentlich.



  • Martin Richter schrieb:

    TerminateThread regulär zu verwenden ist unverantwortlich!

    Nehmen wir nur mal ein ein Thread verwendet eine eigene Funktion oder OS Funktion die intern einen Mutex oder eine CriticalSection blockiert und nun kommt ein anderer Thread daher und sagt TerminateThread...
    Wenn alles gut geht hängt sich nur die eigene Applikation auf.

    Nur aus der Existenz einer Funktion zu schließen, dass jeder diese Funktion jederzeit aufrufen kann ist ziemlich ignorant.
    Das hat nichts mit nachplappern zu tun sondern mit Nachdenken und Intelligenz... 🕶

    Man benutzt TerminateThread auch nur, wenn man weiß, daß der Thread so etwas nicht tut. Wer soweit nicht denken kann, ja, der sollte die Funktion lieber nicht nutzen. Ich weiß aber, was meine eigenen Threads tun und wann es gut ist sie zu terminieren. Die Funktion hat schon seinen Sinn.



  • threadfunktion

    while !threadBeenden {
        tu das wecker zeug
    }
    

    ...
    andere funktion zum beenden

    if buttonGedrückt
       threadBeenden = true
    


  • So eine Variable kannst du nicht aus einem anderen Thread heraus setzen, da bekommst du Problem wegen Caching. Da muss die Variable volatile sein.



  • häh schrieb:

    Man benutzt TerminateThread auch nur, wenn man weiß, daß der Thread so etwas nicht tut.

    Wie lächerlich - hm, ich hoffe das niemand in den 'Genuss' Deiner Programme kommt; tu der Allgemeinheit einen Gefallen und behalte Deine schlechten Ratschläge für Dich 👎 .

    @Script-Styler: eyeoftherollingstone hat das Prinzip jetzt eigentlich verdeutlicht, verstehst Du jetzt wie man das umsetzt?



  • Wollte nur ein wenig provozieren. :p



  • häh schrieb:

    Wollte nur ein wenig provozieren. :p

    Ok, gelungen 😃 .



  • CodeFinder schrieb:

    häh schrieb:

    Man benutzt TerminateThread auch nur, wenn man weiß, daß der Thread so etwas nicht tut.

    Wie lächerlich - hm, ich hoffe das niemand in den 'Genuss' Deiner Programme kommt; tu der Allgemeinheit einen Gefallen und behalte Deine schlechten Ratschläge für Dich 👎 .

    @Script-Styler: eyeoftherollingstone hat das Prinzip jetzt eigentlich verdeutlicht, verstehst Du jetzt wie man das umsetzt?

    Wer macht sich wohl lächerlich? Ich programmiere seit Windows 98 mit WinAPI und behaupte mal daß ich mich gut genug auskenne. Wenn TerminateThread keinen Sinn hätte, gäbe es die Funktion nicht. Also erzähl mir keinen vom Pferd. Sie ist ein bequemes Mittel, wenn man weiß, was man tut. Als Amateur sollte man sie aber in der Tat nicht verwenden, also lass' die Finger davon. Und jetzt schluß mit dieser Diskussion Leute, das ist Offtopic.



  • häh schrieb:

    Wenn TerminateThread keinen Sinn hätte, gäbe es die Funktion nicht.

    Das ist falsch! Diese Funktion ist primär für Debugging-Zwecke.



  • häh: Halt's Maul.



  • häh schrieb:

    häh: Halt's Maul.

    Oh ich sehe schon, jetzt kommen die klar strukturierten und gut durchdachten Gegenargumente 😃 . Naja Du Troll, ich halt mich jetzt daraus.



  • ich vermute mal das sich hier mehrere Pesonen den Namen häh teilen.



  • @hää & //:
    Ihr bölden Idioten!
    Wenn ihr schon so eine "scheiße" reden müsst, dann aber auch mit eirem Richtigen Namen. Also ich kann mich CodeFinder's Meinung anschließen und sagen, dass TerminateThread unsauber ist.
    Denn sie bricht einfach einen Thread ab! ab! das kann doch keine vernünftige Lösung sein. Da nimmt man doch lieber Kontrollstrukturen!



  • warum beleidigst du mich? ich habe doch gar nichts gemacht 😞



  • nee, aber immer so komige namen!





  • Im Prinzip sagt der gesamte Remarks-Bereich in der msdn nichts anderes als "Lass die Finger von TerminateThread". Ein Ausschnitt:

    msdn schrieb:

    TerminateThread is a dangerous function that should only be used in the most extreme cases


Anmelden zum Antworten