<?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[Frage zu Threads]]></title><description><![CDATA[<p>Hi Leutz.<br />
Wie ist es möglich mehrere Threads unabhängig voneinander laufen zu lassen? Bei mir läuft immer nur ein Thread, und der andere macht gar nichts. Wie geht das anders?</p>
<p>Mfg Ominion</p>
<p>EDIT: Ich rufe die Threads so auf:</p>
<pre><code class="language-cpp">...
HANDLE hThread;
HANDLE hThreadTime;
DWORD dwThreadID;
DWORD dwThreadID2;
...
hThread = CreateThread (NULL, 0, FirstThread, (LPVOID)0, 0, &amp;dwThreadID);
hThreadTime = CreateThread (NULL, 0, TimeThread, (LPVOID)0, 0, &amp;dwThreadID2);
</code></pre>
<p>Und so sehen die Threads aus:</p>
<pre><code class="language-cpp">DWORD WINAPI FirstThread (LPVOID data)
{
...
	return ((DWORD)data);
}
DWORD WINAPI TimeThread (LPVOID data)
{
...
	return ((DWORD)data);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/159999/frage-zu-threads</link><generator>RSS for Node</generator><lastBuildDate>Sun, 19 Jul 2026 06:04:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/159999.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 20 Sep 2006 19:20:36 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zu Threads on Wed, 20 Sep 2006 19:31:49 GMT]]></title><description><![CDATA[<p>Hi Leutz.<br />
Wie ist es möglich mehrere Threads unabhängig voneinander laufen zu lassen? Bei mir läuft immer nur ein Thread, und der andere macht gar nichts. Wie geht das anders?</p>
<p>Mfg Ominion</p>
<p>EDIT: Ich rufe die Threads so auf:</p>
<pre><code class="language-cpp">...
HANDLE hThread;
HANDLE hThreadTime;
DWORD dwThreadID;
DWORD dwThreadID2;
...
hThread = CreateThread (NULL, 0, FirstThread, (LPVOID)0, 0, &amp;dwThreadID);
hThreadTime = CreateThread (NULL, 0, TimeThread, (LPVOID)0, 0, &amp;dwThreadID2);
</code></pre>
<p>Und so sehen die Threads aus:</p>
<pre><code class="language-cpp">DWORD WINAPI FirstThread (LPVOID data)
{
...
	return ((DWORD)data);
}
DWORD WINAPI TimeThread (LPVOID data)
{
...
	return ((DWORD)data);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1141421</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141421</guid><dc:creator><![CDATA[Ominion]]></dc:creator><pubDate>Wed, 20 Sep 2006 19:31:49 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Threads on Wed, 20 Sep 2006 20:33:11 GMT]]></title><description><![CDATA[<p>Ominion schrieb:</p>
<blockquote>
<p>Bei mir läuft immer nur ein Thread, und der andere macht gar nichts.</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> LOL <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Hört sich witzig an, der eine läuft, der andere macht gar nichts...</p>
<p>Naja, der Code sieht ganz in Ordnung aus, sollte so OK sein <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /><br />
Mal ein wenig Ursachenforschung: Wie wirkt sich das aus, das der eine &quot;nichts macht&quot;? Mach doch mal ein wenig Tests mit den Threads, lass sie also beide irgendwas ausgeben (ohne deinen anderen Code). Dann siehst du ja, ob sie beide laufen, wie sie sollen.<br />
So z.B.</p>
<pre><code class="language-cpp">DWORD WINAPI FirstThread (LPVOID data)
{
    for ( ULONG i=0; i&lt;20; i++ )
    {
        printf( &quot;Thread 1... %i\n&quot;, i );
        Sleep( 500 );
    }
    return ((DWORD)data);
}
DWORD WINAPI TimeThread (LPVOID data)
{
    Sleep( 250 );
    for ( ULONG i=0; i&lt;20; i++ )
    {
        printf( &quot;Thread 2... %i\n&quot;, i );
        Sleep( 500 );
    }
    return ((DWORD)data);
}
</code></pre>
<p>Generell denke ich, dass der Fehler in deinem Code in den Threads liegt (bzw. in dem einen, der nichts tut.<br />
Erstatte mal Bericht von dem Code, denn das drumherum ist definitiv OK!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141461</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141461</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Wed, 20 Sep 2006 20:33:11 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Threads on Wed, 20 Sep 2006 21:06:55 GMT]]></title><description><![CDATA[<p>Hm hast du gegen die Multithreading-Libraries gelinkt ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141473</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141473</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Wed, 20 Sep 2006 21:06:55 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Threads on Thu, 21 Sep 2006 04:38:00 GMT]]></title><description><![CDATA[<p>Die Bibliotheken sind gelinkt.</p>
<p>Also der erste Thread funktioniert, der wartet auf eine eingehende Verbindung. Der zweite soll eigentlich die Uhrzeit ausgeben:</p>
<pre><code class="language-cpp">DWORD WINAPI TimeThread (LPVOID data)
{
    Timer (hTime);
    return ((DWORD)data);
}
</code></pre>
<p>Die Funktion sieht so aus:</p>
<pre><code class="language-cpp">void Timer (HWND hWnd)
{
	#define NUM_ELEMENTS(x) (sizeof((x)) / sizeof((x)[0]))

	SYSTEMTIME st;
	TCHAR szTime[32];

	GetLocalTime (&amp;st);

	GetTimeFormat (LOCALE_USER_DEFAULT, LOCALE_USE_CP_ACP, &amp;st, NULL, szTime, NUM_ELEMENTS(szTime));
	SetWindowText (hWnd, (LPCSTR) szTime);
}
</code></pre>
<p>Mfg Ominion</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141513</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141513</guid><dc:creator><![CDATA[Ominion]]></dc:creator><pubDate>Thu, 21 Sep 2006 04:38:00 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Threads on Thu, 21 Sep 2006 11:27:23 GMT]]></title><description><![CDATA[<p>Schätze, dass er den Window-Text nicht setzt. Überprüf doch mal den Rückgabewert von SetWindowText. Und wieso baruchst du einen extra Thread, nur um <em>einmal</em> die Uhrzeit im Fenster anzuzeigen? Oder soll die Zeit ständig angezeigt werden? Dann bräuchtest du ja eine Schleife!<br />
So beendet sich der Thread ja direkt nach dem setzen der aktuellen Uhrzeit.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141731</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141731</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Thu, 21 Sep 2006 11:27:23 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Threads on Thu, 21 Sep 2006 13:11:57 GMT]]></title><description><![CDATA[<p>Bist du dir sicher das der handle stimmt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141823</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141823</guid><dc:creator><![CDATA[tobZel]]></dc:creator><pubDate>Thu, 21 Sep 2006 13:11:57 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Threads on Thu, 21 Sep 2006 13:13:52 GMT]]></title><description><![CDATA[<p>Ja ich will die Uhrzeit immer akutalisieren...das funktioniert jetzt auch, allerdings flackert das immer. Wie kann ich das ändern?</p>
<p>Mfg Ominion</p>
<p>EDIT: ja</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141826</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141826</guid><dc:creator><![CDATA[Ominion]]></dc:creator><pubDate>Thu, 21 Sep 2006 13:13:52 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Threads on Thu, 21 Sep 2006 13:13:07 GMT]]></title><description><![CDATA[<p>versuch es mit einem Sleep(100) in deinem thread</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141828</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141828</guid><dc:creator><![CDATA[tobZel]]></dc:creator><pubDate>Thu, 21 Sep 2006 13:13:07 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Threads on Thu, 21 Sep 2006 13:14:16 GMT]]></title><description><![CDATA[<p>auch schon gemacht, bringt leider nichts</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141829</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141829</guid><dc:creator><![CDATA[Ominion]]></dc:creator><pubDate>Thu, 21 Sep 2006 13:14:16 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Threads on Thu, 21 Sep 2006 13:21:10 GMT]]></title><description><![CDATA[<p>Ominion schrieb:</p>
<blockquote>
<p>auch schon gemacht, bringt leider nichts</p>
</blockquote>
<p>Dann versuchs mit nem höheren Wert für Sleep.</p>
<p>Sonst bleibt dir nur noch n Subclassing für die Titelleiste übrig, bei dem du dafür sorgst, dass bspw. bei einem eingehenden WM_EREASEBKGND ein return (1L) 'ausgeführt' wird. Oder du nutzt ein ganz anderes Ausgabe-Ziel.</p>
<p>Mal ne Frage: Warum lößt du die Sache eigentlich in nem Thread ? Für ne Zeitaktualisierung reicht auch n Low-Level-Timer.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141842</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141842</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Thu, 21 Sep 2006 13:21:10 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Threads on Thu, 21 Sep 2006 13:23:51 GMT]]></title><description><![CDATA[<p>mit Timern habe ich noch nicht gearbeitet, deshalb... jetzt funktioniert es, allerdings bleibt der timer manchmal stehen, weil er zu schnell ist...liegt das am Betriebssytem?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141847</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141847</guid><dc:creator><![CDATA[Ominion]]></dc:creator><pubDate>Thu, 21 Sep 2006 13:23:51 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Threads on Thu, 21 Sep 2006 13:33:00 GMT]]></title><description><![CDATA[<p>Ominion schrieb:</p>
<blockquote>
<p>mit Timern habe ich noch nicht gearbeitet, deshalb... jetzt funktioniert es, allerdings bleibt der timer manchmal stehen, weil er zu schnell ist...liegt das am Betriebssytem?</p>
</blockquote>
<p>Hä? ist das nicht n Widerspruch ? Du hast noch nit mit Timern gearbeitet und jetzt bleibt n Timer auf einmal stehen ?! Huh ?! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
<p>Man kann die 'Geschwindigkeit', genauer die Intervalle von Timer doch festlegen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141855</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141855</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Thu, 21 Sep 2006 13:33:00 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Threads on Thu, 21 Sep 2006 13:31:06 GMT]]></title><description><![CDATA[<p>ne sry ich meinte die uhr...die bleibt manchmal stehen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1141858</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141858</guid><dc:creator><![CDATA[Ominion]]></dc:creator><pubDate>Thu, 21 Sep 2006 13:31:06 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Threads on Thu, 21 Sep 2006 13:35:16 GMT]]></title><description><![CDATA[<p>Ominion schrieb:</p>
<blockquote>
<p>ne sry ich meinte die uhr...die bleibt manchmal stehen</p>
</blockquote>
<p>Hm was heißt n 'manchmal'; also wann genau ? Gibts da Regelmäßigkeiten ?</p>
<p>Also ich würd dir nen simplen Timer empfehlen alá:</p>
<pre><code class="language-cpp">// in deiner WndProc:
case WM_CREATE:
  SetTimer(hWnd, 500, 500, NULL);

// ...

case WM_TIMER:
  // Aktualisierung der Uhrzeit

case WM_DESTROY:
  KillTimer(hWnd, 500);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1141863</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1141863</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Thu, 21 Sep 2006 13:35:16 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Threads on Thu, 21 Sep 2006 18:09:36 GMT]]></title><description><![CDATA[<p>nein es gibt keine regelmäßigkeiten, je nachdem wie schnell die uhr zu schnell ist...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1142087</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1142087</guid><dc:creator><![CDATA[Ominion]]></dc:creator><pubDate>Thu, 21 Sep 2006 18:09:36 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Threads on Thu, 21 Sep 2006 18:43:25 GMT]]></title><description><![CDATA[<p>Ominion schrieb:</p>
<blockquote>
<p>je nachdem wie schnell die uhr zu schnell ist...</p>
</blockquote>
<p>Die Uhr sollte ja eigentlich nicht &quot;zu schnell&quot; sein! Haste den Timer so integriert, wie CodeFinder es gepostet hat? Sonst poste mal ein paar Codeauszüge.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1142127</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1142127</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Thu, 21 Sep 2006 18:43:25 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Threads on Thu, 21 Sep 2006 19:09:27 GMT]]></title><description><![CDATA[<p>Nein, ich rede immer noch von der alten &quot;Version&quot;, also mit dem Thread. Aber ich werde das mal machen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1142159</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1142159</guid><dc:creator><![CDATA[Ominion]]></dc:creator><pubDate>Thu, 21 Sep 2006 19:09:27 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Threads on Thu, 21 Sep 2006 20:10:34 GMT]]></title><description><![CDATA[<p>Ominion schrieb:</p>
<blockquote>
<p>Nein, ich rede immer noch von der alten &quot;Version&quot;, also mit dem Thread. Aber ich werde das mal machen</p>
</blockquote>
<p>lol, aber du liest dir meine Posts schon durch oder ? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1142200</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1142200</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Thu, 21 Sep 2006 20:10:34 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Threads on Fri, 22 Sep 2006 05:51:12 GMT]]></title><description><![CDATA[<p>Nö, ich überlese die ganz dezent <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /><br />
Kleiner Spaß. Doch aber meistens will ich erstmal das probieren, was ich selber angefangen habe...also mit dem Timer( <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/26a0.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--warning"
      title=":warning:"
      alt="⚠"
    /> ) funktioniert das wunderbar.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1142287</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1142287</guid><dc:creator><![CDATA[Ominion]]></dc:creator><pubDate>Fri, 22 Sep 2006 05:51:12 GMT</pubDate></item></channel></rss>