<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Thread beenden und auf erfolgreiches beenden prüfen]]></title><description><![CDATA[<p>hi,</p>
<p>status:<br />
in meinem prog laufen mehrere threads,<br />
beim Programm beenden sollen diese dann beendet werden.</p>
<pre><code class="language-cpp">// wird beim beenden aufgerufen
void endThreadxy(void)
{
    b_threadIsActive = false;
    Sleep(1000;
    return;
}

// der thread läuft solange die variable true ist
DWORD WINAPI ThreadProc(LPVOID lpvoid) 
{
    while(b_threadIsActive)
    { //mach was
    }
 return 0; 
}

// abfrage ob thread beendet
checkThreadEnd()
{
    if( hThreadHandle == INVALID_HANDLE_VALUE )
        return 0; // ok

    // nicht beendet ??
    // TrminateTread() aufrufen
    return 1;
}
</code></pre>
<p>mein problem ist nun, dass das handle (thread sollte eigentlich beendet sein) nicht &quot;INVALID_HANDLE_VALUE&quot; hat...<br />
wenn der thread mit return beendet, hat das handle dann einen anderen wert?<br />
muß ich dann auf NULL prüfen?</p>
<p>oder das handle selber im thread vorm return auf INVALID setzen?<br />
darf ich das überhaupt machen?</p>
<p>MfG<br />
Schandi</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/198638/thread-beenden-und-auf-erfolgreiches-beenden-prüfen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 28 Apr 2026 21:58:57 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/198638.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 23 Nov 2007 16:53:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Thread beenden und auf erfolgreiches beenden prüfen on Fri, 23 Nov 2007 16:53:57 GMT]]></title><description><![CDATA[<p>hi,</p>
<p>status:<br />
in meinem prog laufen mehrere threads,<br />
beim Programm beenden sollen diese dann beendet werden.</p>
<pre><code class="language-cpp">// wird beim beenden aufgerufen
void endThreadxy(void)
{
    b_threadIsActive = false;
    Sleep(1000;
    return;
}

// der thread läuft solange die variable true ist
DWORD WINAPI ThreadProc(LPVOID lpvoid) 
{
    while(b_threadIsActive)
    { //mach was
    }
 return 0; 
}

// abfrage ob thread beendet
checkThreadEnd()
{
    if( hThreadHandle == INVALID_HANDLE_VALUE )
        return 0; // ok

    // nicht beendet ??
    // TrminateTread() aufrufen
    return 1;
}
</code></pre>
<p>mein problem ist nun, dass das handle (thread sollte eigentlich beendet sein) nicht &quot;INVALID_HANDLE_VALUE&quot; hat...<br />
wenn der thread mit return beendet, hat das handle dann einen anderen wert?<br />
muß ich dann auf NULL prüfen?</p>
<p>oder das handle selber im thread vorm return auf INVALID setzen?<br />
darf ich das überhaupt machen?</p>
<p>MfG<br />
Schandi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1408974</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1408974</guid><dc:creator><![CDATA[Schandmaul]]></dc:creator><pubDate>Fri, 23 Nov 2007 16:53:57 GMT</pubDate></item><item><title><![CDATA[Reply to Thread beenden und auf erfolgreiches beenden prüfen on Fri, 23 Nov 2007 17:01:07 GMT]]></title><description><![CDATA[<p>Prüf mit WaitForSingleObject() ob der Thread fertig ist.</p>
<p>msdn schrieb:</p>
<blockquote>
<p>When a thread terminates, the thread object attains a signaled state, satisfying any threads that were waiting on the object.</p>
<p>The thread object remains in the system until the thread has terminated and all handles to it have been closed through a call to CloseHandle.</p>
</blockquote>
<p>...das Handle wird demnach erst ungültig wenn er geschlossen wurde.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1408977</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1408977</guid><dc:creator><![CDATA[geeky]]></dc:creator><pubDate>Fri, 23 Nov 2007 17:01:07 GMT</pubDate></item><item><title><![CDATA[Reply to Thread beenden und auf erfolgreiches beenden prüfen on Mon, 03 Dec 2007 15:45:46 GMT]]></title><description><![CDATA[<p>danke, genau das hab ich gebraucht ^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1414312</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1414312</guid><dc:creator><![CDATA[Schandmaul]]></dc:creator><pubDate>Mon, 03 Dec 2007 15:45:46 GMT</pubDate></item></channel></rss>